Как готовят программистов в Канаде?


19 0

Сегодня проводил интервью с программистом, который закончил университет Waterloo. Для тех, кто не в курсе, это не такой уж большой городок, где зародился и долго жил канадский телефонный гигант BlackBerry. 

Уже со второго вопроса я понял, что интервью не заладится и мне хотелось закончить его, потому что у парня совершенно не было никакого интереса. В резюме было написано, что он обладает глубокими знаниями .NET, но уже второй вопрос застал его врасплох - разница между интерфейсами и абстрактными классами. Он смог сказать, что интерфейсы - это своеобразные контракты, но что такое абстрактные классы не знает. 

Удивительно, что выпускник университета не знает, что такое абстрактный класс. Не удивительно, что Канада набирает людей со всего миру. 


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Владимир

10 Февраля 2017

А Вы со многими выпускниками университетов Канады общались, ведь везде есть более способные и менее, может это троечник?
Скажите, а в компаниях где Вы работали какая доля программистов из Канады, а не иммигрантов? Понятно что вы не из HR, но может в общении косвенно сложилось что большинство приехало из других стран или наоборот.


darthat

10 Февраля 2017

Так любой университет в мире (я думаю) выпускает таких людей, так же как и выпускает немало мотивированных и перспективных. Это зависит не от универа, и не от города или страны.


Михаил Фленов

10 Февраля 2017

Троечник - это даже высокая оценка от того, что я услышал. А вот интересно, в канадских вузах выгоняют за неуспеваемость, или за деньги готовы держать до конца кого угодно?

На моей нынешней работе в моей команде 6 программистов - 3 русских, двое китайцев и пот сейчас одного наняли кажется бразилец. Но в целом по компании конечно же канадцы есть, но не думаю, что их даже половина.


Евгений

10 Февраля 2017

"Не судите и не судимы будете!" Самое главное опыт, а не знание отличий абстрактного класса от интерфейса.


Михаил Фленов

10 Февраля 2017

Но если ты не знаешь разницы, как ты можешь выбрать, что использовать в определенном случае?

P.S. Я сужу не конкретного человека, я даже не указываю его, я рассуждаю об образовании. А меня судили и будут судить в любом случае.


Евгений

10 Февраля 2017

Если человек не знает этих отличий (или знает не точно), то значит он как-то без этого обходился? Не так ли? Задачи решались. У заказчика претензий не было. Что еще надо?


Евгений

10 Февраля 2017

Ты дай ему тестовое задание и узнай его подходы к решению, а не экзамены устраивай! Не понравится, как он справился (ну например, использовал интерфейс, а не абстрактный класс) - не бери. Многие уже давно вышли из школьного возраста вообще-то.


Kastor

10 Февраля 2017

Самое главное опыт, а не знание отличий абстрактного класса от интерфейса.

Да ну? Всегда думал, что опыт все таки подразумевает знание core.

Если человек не знает этих отличий (или знает не точно), то значит он как-то без этого обходился?

По любому. Я вот знаю одну девченку, так она не шарит как поворотники включать. И ничего, как то обходится.

Ты дай ему тестовое задание и узнай его подходы к решению, а не экзамены устраивай!

Да, Михаил, что то ты в самом деле набросился на парня. Сходу так валишь выпускника. Ты бы еще про полиморфизм спросил (sarcasm is here).


Михаил Фленов

10 Февраля 2017

Я понял про сарказм. После поворотников ничего кроме этого и не ожидал. Без знания объектного программирования тоже можно обойтись, я видел такие шедевры, где в одном классе реализовывают функционал автомобиля и ничего, обходятся. Только мне такое не нужно.


Kastor

11 Февраля 2017

Эмм, Михаил, правильно ли ты меня понял?
Я имел ввиду, что, по моему мнению, ты правильно все сделал, что не взял данного кандидата. Потому что программисты делятся на разработчиков и на кодеров. У нас как раз есть один из представителей последних, который не парится по поводу паттернов, стиля написания и copy paste. И это приносило немало проблем.

Не подумайте, что я хотел обидеть рассматриваемого кандидата. Я только хотел сказать, что если он недостаточно хорош, то это вполне нормальная причина чтобы отказать ему, даже если его предыдущий работодатель был им доволен и не парился по поводу дизайна своего продукта.


Евгений

11 Февраля 2017

Что тут скажешь. Подход у каждого свой. Да только каждый спец. денег стоит. Это из серии дворников с высшим образованием: конечно при наличии 2-х кандидатов - будет взят с высшим. Если у Вас конечно сложнейшие финансовые или инженерные расчеты, серьезные научные изыскания и на это есть серьезный бюджет - то это очень даже обоснованный подход. У нас же (на твоей исторической родине) за 30 тыс.р./мес хотят взять разработчика, при этом совершенно не готовы вкладывать в его обучение. И когда денег больше нет, то развивая метафору Kastor'а про поворотники, можно сказать, что лишь бы эта девочка со временем научилась поворотники включать. Не надо думать, что все дебилы такие уж и с этой задачей не могут справится. Диагнозы не Вы ставите - а врач! Да и что делать если на 30 тыс. в принципе нет других кандидатов? Они все давно уже в Канаде!


Евгений

11 Февраля 2017

По поводу поворотников: Да у нас больше половины автолюбителей так ездят! В среде разработчиков такой подход - не редкость. "Спуститесь на Землю". Успехов в поиске "правильных", "умных", "аккуратных", "опытных" и пр. программистов!


Михаил Фленов

11 Февраля 2017

2 Kastor
Конечно я тебя правильно понял и мне понравился твой ответ


По поводу поворотников: Да у нас больше половины автолюбителей так ездят! В среде разработчиков такой подход - не редкость.


От того, что люди ездят без подворотников и программируют без знания теории, это не значит, что это правильно. Извини, но я не собираюсь предлагать компании, где я работаю, нанимать человека, который не знает даже основы, которую должны были дать в университете. И я уже не говорю о том, что он после этого не ответил, нахрена нужен using (new Class), что делает IDisposable, не знает разницы между struct и class, не смог описать ни один дизайн патерн...


Alex

12 Февраля 2017

"Не удивительно, что Канада набирает людей со всего миру. "
Ты вроде как-то в одном из своих роликов говорил, что Канада очень не охотно набирает людей не из Канады...ситуация изменилась ?
Кстати еще слышал, что там "клали" на то, какой диплом ты получил в своей стране, главное, чтобы у тебя был канадский диплом и только тогда с тобой можно будет вести диалог - правда ли это ?


Михаил Фленов

12 Февраля 2017

Канадские компании неохотно набирают людей из-за рубежа напрямую. Приезжай в Канаду и тебя наймут.

Дипломы нужны таким профессиям, как врачи, строители и узкие специалисты, где нужна сертификация. Они приезжают в Канаду и начинают снова учится, чтобы получить местные документы. Программистам дипломы не нужны.


Евгений

12 Февраля 2017

Я вовсе и не хочу, что бы ты взял этого человека на работу, а всего лишь хочу донести, что твой подход не всегда работает. Из собственного опыта. Нужно было найти сотрудника в ит-отдел на должность инженера-программиста. Применил твой подход. И каково же было мое удивление, когда из десятка соискателей никто в полной мере не смог ответить на казалось бы не сложные вопросы, да еще и с вариантами ответа. В итоге всем было отказано, но и желающие закончилось и еще более полугода пришлось работать за двоих на тойже самой зарплате. А потом всеже пришлось закрывать глаза на то, что соискатель некоторые вещи не знает. И ничего работает уже 2 года и со своими обязанностями справляется очень не плохо.


Михаил Фленов

12 Февраля 2017

Я спрашиваю не такие уж и сложные вопросы и пропускаю на следующий этап иногда даже тех, кто не знает как защищается против SQL Injection. А следующий этап это уже реальный тест, где нужно программировать. Вопрос не о том, нанимать или нет, правильный тест или нет. Если ты считаешь, что это нормально, что выпускник канадского университета не знает, что такой абстрактный класс, ну это твое право.


Евгений

13 Февраля 2017

Я бы отметил несколько наблюдений из опыта подбора персонала:
1. "Кэш свободных рук", который является постоянным спутником капитализма - низкого качества. Он хорошо подходит лишь для подбора персонала "для вывоза мусора", но не для подбора специалиста, хотя, пожалуй, выбирать больше не откуда.
2. По настоящему хорошего специалиста приходится "воспитывать" самостоятельно и поэтому важно, при приеме на работу, сделать ставку на оценку его потенциала, а не на те знания, которые нужны "здесь и сейчас" (только студентов и выпускников не имею виду, а скорее специалистов с не большим опытом) или другой путь - "переманивать" у конкурентов.


Максим

14 Февраля 2017

А я согласен с Михаилом, теорию он должен знать, без нее не куда.
Был такой случай у знакомого, когда у него код не работал на C#, компилировалься нормально а работал не правильно, из-за того что он  указал свойству доступ private в его случаи надо было использовать protected. Когда я спросил зачем он поставил private, он мне сказал что в книгах во всех указуют свойствам private.
Одно дело когда он знает теорию и не может нормально объяснить это уже другой вопрос.    


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне