Сегодня проводил интервью с программистом, который закончил университет Waterloo. Для тех, кто не в курсе, это не такой уж большой городок, где зародился и долго жил канадский телефонный гигант BlackBerry.
Уже со второго вопроса я понял, что интервью не заладится и мне хотелось закончить его, потому что у парня совершенно не было никакого интереса. В резюме было написано, что он обладает глубокими знаниями .NET, но уже второй вопрос застал его врасплох - разница между интерфейсами и абстрактными классами. Он смог сказать, что интерфейсы - это своеобразные контракты, но что такое абстрактные классы не знает.
Удивительно, что выпускник университета не знает, что такое абстрактный класс. Не удивительно, что Канада набирает людей со всего миру.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
А Вы со многими выпускниками университетов Канады общались, ведь везде есть более способные и менее, может это троечник?
Скажите, а в компаниях где Вы работали какая доля программистов из Канады, а не иммигрантов? Понятно что вы не из HR, но может в общении косвенно сложилось что большинство приехало из других стран или наоборот.
Так любой университет в мире (я думаю) выпускает таких людей, так же как и выпускает немало мотивированных и перспективных. Это зависит не от универа, и не от города или страны.
Троечник - это даже высокая оценка от того, что я услышал. А вот интересно, в канадских вузах выгоняют за неуспеваемость, или за деньги готовы держать до конца кого угодно?
На моей нынешней работе в моей команде 6 программистов - 3 русских, двое китайцев и пот сейчас одного наняли кажется бразилец. Но в целом по компании конечно же канадцы есть, но не думаю, что их даже половина.
"Не судите и не судимы будете!" Самое главное опыт, а не знание отличий абстрактного класса от интерфейса.
Но если ты не знаешь разницы, как ты можешь выбрать, что использовать в определенном случае?
P.S. Я сужу не конкретного человека, я даже не указываю его, я рассуждаю об образовании. А меня судили и будут судить в любом случае.
Если человек не знает этих отличий (или знает не точно), то значит он как-то без этого обходился? Не так ли? Задачи решались. У заказчика претензий не было. Что еще надо?
Ты дай ему тестовое задание и узнай его подходы к решению, а не экзамены устраивай! Не понравится, как он справился (ну например, использовал интерфейс, а не абстрактный класс) - не бери. Многие уже давно вышли из школьного возраста вообще-то.
Я понял про сарказм. После поворотников ничего кроме этого и не ожидал. Без знания объектного программирования тоже можно обойтись, я видел такие шедевры, где в одном классе реализовывают функционал автомобиля и ничего, обходятся. Только мне такое не нужно.
Эмм, Михаил, правильно ли ты меня понял?
Я имел ввиду, что, по моему мнению, ты правильно все сделал, что не взял данного кандидата. Потому что программисты делятся на разработчиков и на кодеров. У нас как раз есть один из представителей последних, который не парится по поводу паттернов, стиля написания и copy paste. И это приносило немало проблем.
Не подумайте, что я хотел обидеть рассматриваемого кандидата. Я только хотел сказать, что если он недостаточно хорош, то это вполне нормальная причина чтобы отказать ему, даже если его предыдущий работодатель был им доволен и не парился по поводу дизайна своего продукта.
Что тут скажешь. Подход у каждого свой. Да только каждый спец. денег стоит. Это из серии дворников с высшим образованием: конечно при наличии 2-х кандидатов - будет взят с высшим. Если у Вас конечно сложнейшие финансовые или инженерные расчеты, серьезные научные изыскания и на это есть серьезный бюджет - то это очень даже обоснованный подход. У нас же (на твоей исторической родине) за 30 тыс.р./мес хотят взять разработчика, при этом совершенно не готовы вкладывать в его обучение. И когда денег больше нет, то развивая метафору Kastor'а про поворотники, можно сказать, что лишь бы эта девочка со временем научилась поворотники включать. Не надо думать, что все дебилы такие уж и с этой задачей не могут справится. Диагнозы не Вы ставите - а врач! Да и что делать если на 30 тыс. в принципе нет других кандидатов? Они все давно уже в Канаде!
По поводу поворотников: Да у нас больше половины автолюбителей так ездят! В среде разработчиков такой подход - не редкость. "Спуститесь на Землю". Успехов в поиске "правильных", "умных", "аккуратных", "опытных" и пр. программистов!
2 Kastor
Конечно я тебя правильно понял и мне понравился твой ответ
"Не удивительно, что Канада набирает людей со всего миру. "
Ты вроде как-то в одном из своих роликов говорил, что Канада очень не охотно набирает людей не из Канады...ситуация изменилась ?
Кстати еще слышал, что там "клали" на то, какой диплом ты получил в своей стране, главное, чтобы у тебя был канадский диплом и только тогда с тобой можно будет вести диалог - правда ли это ?
Канадские компании неохотно набирают людей из-за рубежа напрямую. Приезжай в Канаду и тебя наймут.
Дипломы нужны таким профессиям, как врачи, строители и узкие специалисты, где нужна сертификация. Они приезжают в Канаду и начинают снова учится, чтобы получить местные документы. Программистам дипломы не нужны.
Я вовсе и не хочу, что бы ты взял этого человека на работу, а всего лишь хочу донести, что твой подход не всегда работает. Из собственного опыта. Нужно было найти сотрудника в ит-отдел на должность инженера-программиста. Применил твой подход. И каково же было мое удивление, когда из десятка соискателей никто в полной мере не смог ответить на казалось бы не сложные вопросы, да еще и с вариантами ответа. В итоге всем было отказано, но и желающие закончилось и еще более полугода пришлось работать за двоих на тойже самой зарплате. А потом всеже пришлось закрывать глаза на то, что соискатель некоторые вещи не знает. И ничего работает уже 2 года и со своими обязанностями справляется очень не плохо.
Я спрашиваю не такие уж и сложные вопросы и пропускаю на следующий этап иногда даже тех, кто не знает как защищается против SQL Injection. А следующий этап это уже реальный тест, где нужно программировать. Вопрос не о том, нанимать или нет, правильный тест или нет. Если ты считаешь, что это нормально, что выпускник канадского университета не знает, что такой абстрактный класс, ну это твое право.
Я бы отметил несколько наблюдений из опыта подбора персонала:
1. "Кэш свободных рук", который является постоянным спутником капитализма - низкого качества. Он хорошо подходит лишь для подбора персонала "для вывоза мусора", но не для подбора специалиста, хотя, пожалуй, выбирать больше не откуда.
2. По настоящему хорошего специалиста приходится "воспитывать" самостоятельно и поэтому важно, при приеме на работу, сделать ставку на оценку его потенциала, а не на те знания, которые нужны "здесь и сейчас" (только студентов и выпускников не имею виду, а скорее специалистов с не большим опытом) или другой путь - "переманивать" у конкурентов.
А я согласен с Михаилом, теорию он должен знать, без нее не куда.
Был такой случай у знакомого, когда у него код не работал на C#, компилировалься нормально а работал не правильно, из-за того что он указал свойству доступ private в его случаи надо было использовать protected. Когда я спросил зачем он поставил private, он мне сказал что в книгах во всех указуют свойствам private.
Одно дело когда он знает теорию и не может нормально объяснить это уже другой вопрос.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.