Ошибка при подборе сотрудника — долгоиграющее явление, поэтому важно сразу по максимуму исследовать человека, пришедшего показать себя. С этим нам может помочь техника «MoSt». Собеседование, по её заветам, занимает около часа и предусматривает структурированный опрос кандидата в двух частях: технической и личностной. Проводить собеседование можно как вживую, так и по телефону/видеосвязи.
Техника призвана научить получать больше значимой информации о кандидате, но она не увеличит кол-во кандидатов и не повысит их навыки. MoSt, тем не менее, увеличит Ваши шансы на успех при принятии решения о приёме человека на работу.
25 вопросов
Итак, мы собираемся провести собеседование. На первую, техническую, часть мы готовим 25 вопросов, разбитых на 5 групп, общей длительностью 30-40 мин:
Интерес
(группа важна при работе с молодым кандидатом, т.к. матёрые программисты чаще имеют высокий уровень ответственности из-за наличия семьи, обязательств, нежелания менять работу; так же высоко актуальна для должностей с большим потоком новых требований: аутсорсинг, экспериментальные продукты, ещё не прошедшие проверку пользователями и способные резко измениться)
Нередко кандидаты пытаются продемонстрировать интерес к тому, чем занимается Ваша компания, или профессии вообще, и уже здесь мы должны сделать первый шаг. Сказать «мне интересно» легко, имитировать интерес невозможно, поэтому мы подберём несколько вопросов, показывающих, насколько в действительности человек интересуется тем, чем он занимается. Посещение конференций, ведение блога, форумы, личные проекты, участие в Open Source разработках, знание новостей мира программирования и истории ИТ, научных идей, вроде цикломатической сложности кода и формальной верификации алгоритмов, принципов KISS, DRY, SOLID и всего того, о чём Вы сами не могли не слышать на работе — это верные признаки интереса. Вопросы могут проходить в форме свободного разговора, однако суть Вам уже должна быть понятна. Интересующийся человек всегда ценен, ведь интерес порождает неподдельное стремление разбираться, развиваться и преуспевать.
Интерес — это всё, без интереса мы всего лишь люди.
Язык программирования
(наболее актуальна для молодых программистов (<5 лет опыта); так же имеет высокое значение, если кандидат долгое время работал в одной компании или фрилансером)
Собственно, ядро собеседования. Кандидат должен знать встроенные средства языка, структуры данных, стандарты написания кода и его организации. Данная группа вопросов должна максимально раскрыть техническую базу кандидата, поэтому выбирайте внимательно! Среди прочего она помогает понять, насколько основательно человек подходит к делу. Люди, стремящиеся просто получить высокооплачиваемую работу, как правило, демонстрируют высокие знания конкретных (востребованных на рынке) фреймворков, но слабую осведомлённость о встроенных возможностях языка, без которых довольно трудно успешно решать новые (для программиста) задачи. Программист же «по любви», обычно, начинает с основ, самой сути, и, как следствие, имея хорошую базу, гораздо лучше справляется с новым.
Инструментарий и самооптимизация
(значимость ответов повышается при опыте кандидата менее 5 лет из-за высокой вероятности незнания инструментов и более 15 лет из-за распространённого отказа от дальнейшего развития; особо значима для кандидатов в небольшие высоконагруженные команды)
Эта группа призвана определить, какие инструменты разработки применяет кандидат, и стремится ли он упростить свой труд. Сюда, как нетрудно догадаться, относятся вопросы по системам контроля версий, развёртки и доставки приложений, IDE, возможностям ОС, инструментам планирования и мониторинга кода (измерения сложности программы, покрытия тестами, потребления памяти, maintability индекса...). Эта группа вопросов должна помочь оценить деловитость кандидата, научность и скрупулёзность его подхода.
Архитектурные навыки
(значимость ответов крайне высока при подборе ведущего специалиста, т.к. он будет принимать решения, отражающиеся на работе всей команды)
Третья группа должна раскрыть способности кандидата к написанию удобного, гибкого, легко поддерживаемого кода. В большинстве случаев вопросы упираются в знание основной парадигмы языка: ООП, компонентное программирование, интерфейсы… Так же добавим сюда документирование, обустройство Git-репозитория, развёртывание приложений, авто и юнит тестирование… То есть речь идёт не столько о знаниях конкретных вещей, сколько об умении правильно построить продукт, сделать его понятным, простым в использовании и поддержке, устойчивым, легко тестируемым и собираемым.
В эту группу отлично вписывается пункт с ревью личных проектов кандидата (если таковые имеются), ведь именно в них раскрывается приученность хозяина к порядку и архитектурные предпочтения.
Специфика и мышление
(актуальность возрастает с ростом сложности должности, на которую рассматривается кандидат — например, Desktop-программирование общего назначения является более простым, чем программирование игр, финансовых или математических программ, Big Data)
В данную группу входят вопросы, непосредственно относящиеся к направлению, на которое рассматривается кандидат. Очень часто (я сам не раз видел подобное) специфичные вопросы не звучат вообще. Это большой грех: Python программист может быть хорошим алгоритмистом или CLI-разработчиком, но совершенно не иметь опыта Web-разработки, и даже не знать её основ. Frontend-разработчик/дизайнер с высокой долей вероятности станет слабым backend-разработчиком и maintainer'ом базы данных. Разработка игр и вовсе особая вотчина. Примеров много — ясно одно: без специфичных для должности вопросов нельзя! В современном программировании слишком много направлений и далеко не все они имеют сходства друг с другом, поэтому опыт в одной вовсе не гарантирует успеха в другой.
Так же в эту группу стоит включить пару вопросов на алгоритмическое и низкоуровневое мышление. Не обязательно они должны быть сложными, но кандидат должен иметь представление о том, что делает его программа на низком уровне, в каком порядке, сколько времени занимают те или иные команды относительно друг друга, какие у них есть узкие места, как сэкономить вычислительные ресурсы и решить задачу за меньшее кол-во действий.
Что дальше?
Собственно, у нас есть 25 вопросов — что теперь? Теперь нам нужно задать эти вопросы и, опираясь на ответы кандидата, самим ответить на пять вопросов о собеседуемом:
1. Интересуется: он будет стараться, развиваться по собственному желанию, не будет ненавидеть свою работу как таковую?
2. Имеет техническую базу: он знаком с фундаментальными средствами языка, умеет применять их и сможет решать задачи «не из учебника»?
3. Организован и экономен: он ценит своё время, силы, уделяет внимание подбору инструментов и будет стараться упростить жизнь себе и всей команде?
4. Архитектор: ему можно доверить архитектурные решения, он организует код понятно, расширяемо, легко проверяемо, так, что команда сможет с ним работать?
5. Подходит на должность: он разбирается в специфичных для должности вопросах и обладает фундаментальным пониманием того, что в ней происходит?
На основе ответов мы можем понять, что ждёт нас и нашу команду с данным кандидатом в профессиональном плане.
Личностные качества
Немаловажным фактором является определение психологического профиля кандидата: он трудоголик или ленивый, предпочитает делать своё дело или будет (возможно, с завистью или недовольством) смотреть на других сотрудников, будет разлагать дисциплину или, наоборот, своими действиями поддержит её — выяснению всего этого посвящена вторая часть собеседования (20-30 мин.). Вопросы для определения личностных качеств напрашиваются сами собой: что не нравилось в предыдущей команде, на прошлом рабочем месте, какие рабочие конфликты запомнились, часто ли Вы перерабатываете и по каким причинам… — рассказ обо всём этом может многое открыть о кандидате.
Коварство, предательство, фальшь
Горькая правда состоит в том, что многие кандидаты врут на собеседованиях (около 70%, по разным данным). Можно ли этому противодействовать? Сформулирую собственный подход:
1. Определите, навыки кандидата, не подходящие лично Вам. Нечто такое, что, по заявлению кандидата, он умеет, а Вы не должны, потому как должность не обязывает. Допустим, Вы не требовали в вакансии SQL, но кандидат утверждает, что он SQL-мастер.
2. Заставьте кандидата говорить. Задайте пространный вопрос касательно навыка, такой, чтобы у собеседуемого возникло впечатление, что Вы не разбираетесь. Как правило, в подобной ситуации лгуны идут в атаку, ведь очень просто навешать лапши на уши тому, кто не смыслит, и показать себя «уверенным пользователем ПК». Тем более, что техническое интервью уже окончено, и «по правилу бутерброда, под конец надо дать понять, что это ничего, что я на технических вопросах немного засыпался, я вот на прошлой работе всё разобрал по ходу дела, во всём стал экспертом, а то, что было в середине, они и не вспомнят».
Пример из личной практики:
Я в компании сотрудницы собеседовал Go-программиста, утверждавшего, что он не один год работал с Firestore, а так же PostgreSQL. Ни того, ни другого в вакансии не упоминалось, поэтому складывается следующая ситуация: собеседуемый утверждает, что он практически мастер в том, в чём мы сами не последние люди. Однако он этого не знает — не знает, что у нас есть опыт и в Firestore, и в PostgreSQL. Он лишь знает, что мы Go-программисты, и по ответам на Go-ориентированные вопросы он явно не выигрыше.
Не долго думая, мы попросили собеседуемого рассказать, что он делал на Firestore, а потом и на SQL, «так, чтобы поняли люди, которые в этом не алё». По его словам, он проектировал базы данных и таблицы, индексы, писал новые запросы и оптимизировал старые за другими сотрудниками (то есть мы услышали уверенные, громкие, но очень общие заявления). Какого было его удивление, когда мы начали задавать конкретные вопросы по устройству Firestore и SQL (раскрывая тем самым собственный опыт), и как мало он смог нам поведать.
Мы, однако, не говорили, что мы не разбираемся, лишь попросили рассказать так, чтобы поняли незнающие люди. Безобидная манипуляция позволила нам определить, что кандидат не имеет понятия об устройстве Firestore и JOIN'ах в SQL, и, самое главное, пытается нас обмануть. Да, мы не требуем знаний Firestore, а SQL не используем вовсе, однако мы выяснили, что кандидат не благонадёжен, и едва ли был успешным программистом на прошлой работе, ведь в том, чем он якобы там занимался, он не разбирается.
С помощью умалчивания, удерживания информации о себе и глупых вопросов мы создали впечатление, что мы не в зуб ногой, дали кандидату перехватить инициативу, начать говорить. Провокация? Едва ли. Мы лишь создали ситуацию, в которой ложь была бы выгодна, посмотрели, как поведёт себя кандидат, а затем перешли к третьему, особенно важному, шагу.
3. Конкретика. Собеседуемый должен отвечать на вопросы конкретно! Не давайте уверенным речам ввести Вас в заблуждение — каждое утверждение нужно оценивать на конкретность. Фраза «я два года работал с Angular, завершил три проекта, в четвёртом был руководителем», даже сказанная уверенным, обыденным тоном, ещё толком ничего не значит. Постарайтесь выяснить у кандидата, что конкретно он делал, что он умеет, какие сложности повидал, как их решил — если он действительно поведает Вам что-то технически конкретное, тогда можно начинать верить. Если же разговор продолжается общими фразами и попытками увильнуть от прямых ответов, его лучше плавно закончить — мы ищем реальных доказательств опыта, а не голословных утверждений, которые ещё придётся проверять на практике. Человек не может написать программу, но совершенно в ней не разбираться, потому что в нашей профессии понимание предшествует результату. Тот, кто разбирается, может изъясняться конкретно. Тот, кто не разбирается, этого точно не может.
Программа делает то, что Вы в ней написали, а не то, чего Вы от неё хотели.
Порядок
Возможно, это не очевидно на первый взгляд, но в данной технике собеседования есть определённый порядок. Первая группа вопросов проста и даёт кандидату привыкнуть к обстановке, расслабиться. Вторая группа вбрасывает технических вопросов, после чего идёт перескок на инструментарий, затем возврат к вопросам программирования и далее к самому сложному — низкоуровневым и специфичным вопросам. Нагрузка и темы скачут, это необходимо, чтобы хотя бы немного посмотреть на способность кандидата переключаться между задачами. На третьей и четвёртой группах рекомендуется, по возможности, оказать психологическое давление, поставить кандидата в тупик, создать ощущение, что он говорит не совсем то, чего от него ждут. Это необходимо для создания напряжения, чтобы, опять же, хотя бы отчасти оценить его поведение и работоспособность в стрессовой ситуации.
После того, как кандидат основательно прогружен техническими вопросами, начинается личностный опрос. На практике этот момент приходится примерно на сороковую минуту собеседования — время, когда кандидат уже порядком устал, начинает терять бдительность и честно раскрывать подробности своей личности.
Заключение
Многие детали техники были опущены, дабы сократить статью, однако суть подхода раскрыта полностью. MoSt требует получасовой подготовки к собеседованию от того, кто его проводит, внимательности и некоторых актёрских способностей, однако даёт следующие преимущества:
— Вы сможете определить тех, кто пришёл ради денег. Не всегда такое стремление является «код красный, код красный, у нас тут карьерист!», однако интересующаяся персона, как правило, является более успешной, чем тот, кто ищет лишь выгоду.
— Вопросы задаются конкретными группами. Это позволяет определить сильные и слабые стороны кандидата и, опираясь на контекст, принять правильное решение. Скажем, при поиске Junior'а архитектурные навыки будут плюсом, но не имеют повышенной ценности, а при подборе человека в высоконагруженную команду важно понять, справится ли он со сложными инструментами развёртки, объяснять устройство которых ни у кого в команде времени нет.
— При должной внимательности Вы опознаете лгунов и тех, кто подготовился «за пять минут до» — как правило, они хорошо отвечают на некоторые конкретные вопросы, но при рассмотрении ситуации с разных сторон начинают запинаться.
В заключение стоит сказать, что некоторые могут посчитать технику MoSt провокационной, однако от собеседующего требуются лишь манипуляции — создание ситуаций, в которых можно увидеть кандидата в истинном свете, а не том образе, который он подготовил к собеседованию — но никак не явное враньё. Нашей (людей, проводящих собеседования) целью является как раз-таки борьба с ложью и сбор значимой, достоверной информации.
—
Ilya,
QLogic LLC,
Python/Go developer
GitHub acc | Personal page
extiander
а можно обобщеные или реальные примеры по 1му пункту (интерес)
до остальных +- сам дошел (ну до части точно) а вот 1 пункт — хочется проверять давно, но не до конца понятно как
IlyaFaer Автор
Я обычно прошу кратко рассказать о языке программирования: когда возник, кто разработчики, каковы отличительные особенности и идеология. Информация едва ли помогает в работе, но показывает интерес в целом.
Часто спрашиваю о рейтингах языков программирования и о том, о каких новых языках в последнее время слышали.
Об участии в конференциях и блогах спрашивать приходится редко — и так в резюме пишут.
Задаю вопрос об активности на сайтах-форумах (сообразительные Junior'ы идут на форумы, чтобы закрепить базу, запомнить синтаксис, а кто-то просто не прочь поделиться знаниями — в любом случае, дело не оплачиваемое, зависит от энтузиазма), особенно зарубежных.
Почти всегда спрашиваю, что вообще пробовали в программировании. Как говорится, каждый программист в своей жизни должен написать:
— Язык программирования
— Троян
— Музыкальный плейер
— 2D-игру
— Android-приложение, работающее с гироскопом
— Нейронную сеть
Интересующиеся люди, как правило, могут рассказать что-нибудь интересное хотя бы об одной области, даже если завершённых/успешных проектов не имеется.
Спрашиваю, какие крупные проекты/продукты написаны на «нашем» языке программирования.
Судя по моей личной статистике, вопрос о разнице между версиями одного и того же языка программирования сигнализирует о высоком интересе, внимательности и вообще понимании, как развивается продукт при изменении языка.
Часть вопросов выбираю специфично. Например, если это Python, спрашиваю, о каких «диалектах» слышали (RPython, IPython, Jython). У многих спрашиваю, почему Python такой медленный, как образовался Django (если его знания нам требуются).
Нередко беру один совсем теоретический вопрос, например, в чём разница между статически и динамически типизированными языками, как заставить программу выполнять два (очень простых) действия одновременно (или чтоб это выглядело, как параллельность), не используя готового API для распараллеливания.
Fen1kz
Забавно, по вашим словам получается что мне вообще не интересно программирование.
Я никогда не начинаю с основ. Я за свою жизнь написал хотя бы приложеньку на: as2-3, php, js, java, python, scala, erlang — ни разу не начинал знакомство с языком с основных глобальных вопросов типа "А как там у них устроен GC?". Мне даже на типизацию плевать ( когда я начинаю знакомство ). Не, потом конечно узнаю, но начинать с основ? Кто так делает вообще?)
Вообще не знаю историю js. Ответил бы "Да, в 90х какой-то чувак сделал язык скриптов для нетскейпа". Выходит что он мне не интересен? Видимо дома ради фана пилю на нем пет проекты через силу, хммм.
И всё в таком духе. Такое ощущение что эта техника для поиска людей с таким же складом ума как у автора, а не для отсеивания "лжецов".
IlyaFaer Автор
Ну-у-у, да-а-а-а, Вы-таки это и подтверждаете далее:
То есть Вы «пишете приложеньки» на каком угодно языке, не вникая в его суть, я же правильно прочитал? Уверен, топ ИТ компании именно за счёт таких сотрудников и добились успеха, а не за счёт научной проработки, профессиональной дисциплины и глубочайшего понимания того, чем они занимаются.
Пустое замечание. Мне не нужно демонстрировать интерес, я делюсь информацией, полезность которой мной проверена, и делаю это как можно короче. Кстати, техника, как сказано было в самом начале, призвана получить максимум достоверной информации о кандидате, а не то, что он пытается продать. Вы, например, продаёте, что Вы эксперт, потому что… потому что Вы сказали, что Вам интересно, но не раскрыли, в чём это заключается? Или потому, что Вы написали «по одной приложеньке» на нескольких языках? Неубедительно.
Этому и учит техника — достоверную информацию добывать, а не верить в пустые заявления.
shiru8bit
У меня аналогичная ситуация. Мне не интересны основы, истории, и прочее сферическое программирование в вакууме, с красотой кода. Интересно только прикладное значение, как способ решать мои задачи, и в частностях типа GC или типизации я разбираюсь только тогда, когда это становится необходимым для решения задачи.
Так что в принципе можно предположить, что да, формально программирование не интересно. Но не обязательно считать это проблемой.
IlyaFaer Автор
Мы и не говорим о программировании в вакууме. Мы говорим о работе, например, в команде из двадцати пяти человек, где красота и понятность кода имеют самое что ни на есть непосредственное значение. Если какой-нибудь любитель экзотики напишет продукт, объёмом в четыре тысячи строк, а затем уволится, как компании поддерживать продукт и развивать его дальше?
Да, но, опять же, чем меньше Вы знаете, тем меньше вероятность, что Ваше прикладное решение станет оптимальным. И тем меньше шанс, что Вы вообще найдёте решение. И, опять же, в очередной раз, мы делаем оговорку: программист может быть хорошим и, не имея интереса. Мы это учитываем. Мы лишь определяем, есть ли у человека интерес. Об этом было сказано в самом начале статьи: мы получаем информацию. Техника вообще не даёт никаких оценок!
shiru8bit
Есть разные области знаний и прикладных задач. Есть области, где вообще нет не то, что GC — динамического выделения памяти в принципе. Есть области, где нет и не может быть 25 человек на проекте. Есть проекты, где нужно именно 4000 строк дичайшей экзотики, которую способно осилить десять человек в мире, и которую никогда не придётся поддерживать — но без этих строк никак не обойтись, и сам продукт/компания/бизнес без них невозможен.
Тут возникает вопрос, вы пишете про собеседование в конкретно вашу компанию, или всё же даёте универсальные советы.
IlyaFaer Автор
Дельное замечание. При написании я брал в расчёт крупные компании, в которых довелось поработать мне самому (в которые и собеседовал людей) — так сказать, успешный средний класс.
Понятие контекста (на какую должность и в какую компанию), в действительно, является важной частью техники при подготовке вопросов (я, правда, упомянул об этом лишь вскользь — под заголовками групп). Но сама по себе техника ведь не даёт каких-то конкретных шаблонов вопросов, правильно!? Она структурирует процесс и даёт советы по фильтрации ответов кандидата. Всё-таки, сколько вакансий — столько и ситуаций, тут универсальные правила выработать едва ли получится.
extiander
Супер, спасибо
переосмыслю и добавлю к себе
michael_vostrikov
Не советую. Выше уже один человек написал, что для него это не сработало, я к этому присоединяюсь, для меня тоже эта логика не работает.
IlyaFaer Автор
Может, она сработала, просто Вы не подходите? Или Вы не рассматриваете возможность, что Вы не очень толковый программист?
michael_vostrikov
У меня достаточно опыта и отзывов работодателей о моей работе, чтобы ее не рассматривать.
IlyaFaer Автор
Это ещё одно не конкретное заявление, которое ничего не доказывает мне. Об этом идёт речь на протяжении почти всей статьи: добыть достоверную информацию о кандидате, а не голословные утверждения, которые не дают работодателю никаких гарантий. Я не хочу сказать ничего конкретно о Вас, я всего лишь пытаюсь показать, о чем речь: информация, достоверная и значащая. Если её нет, никаких гарантий тоже нет.
michael_vostrikov
Вы спросили, почему я не рассматриваю такую возможность. Я ответил почему, самому себе мне это не надо доказывать.
extiander
возможно и не сработает,
но как доп критерий будет норм
мне этого блока на моих тех интервью не хватало, сейчас есть понимание куда копать
michael_vostrikov
Всё, что вы перечислили, для работы совершенно не нужно, и следовательно навыки работы не показывает.
IlyaFaer Автор
Если речь идёт о моём комменте об интересе, то тут я с Вами не соглашусь. Задача про распараллеливание мне в своё время помогла решить реальную задачу. А ведь я всего лишь знал, как старые одноядерные процессоры решали несколько задач параллельно. К тому же интерес — это лишь одна из пяти частей технического ревью. Человек может быть просто очень алчным и очень умным, и потому отличным программистом. Техника ведь не говорит, что если человек не знает историю языка, значит, он плох. Вовсе нет. Но она поможет определить, есть ли у кандидата интерес в целом. Многие рекрутёры придают этому очень большое значение, и неспроста.
JustDont
Я вот совершенно не понимаю, какой полезный вывод эта фраза должна мне помочь сделать. Вам это один раз помогло? Отлично. Мне один раз (ключевое слово) помогла теорема Байеса, точнее определенные выкладки на её основе. Вы не хотите сейчас без гугла поговорить об этом? Может быть написать теорему, и что-нибудь интересное из неё вывести? Если нет, то наверное вы плохой кандидат.
Вопрос только в трактовке результатов, ага. Если вы спрашиваете про историю языка, а человек вам не рассказывает — это не значит, что у него нет интереса, просто потому, что интерес к технологии != интерес к истории этой технологии.
IlyaFaer Автор
Ну-у-у, таки вот! А другой раз Вам другие «сторонние знания» помогли. А в третий раз третьи. И так пошло оно, и идёт. Чем больше Вы знаете, тем выше Ваш инструментарий (в том числе, мыслительный). Вы же не можете написать сайт, зная только print(«Hello, world!»), правильно? Вам нужны более обширные знания. И чем сложнее задача, тем больше знаний Вам нужно — это, вроде бы, очевидно, я даже не пойму, что Вы мне пытаетесь доказать. Вы же как раз в пользу говорите.
Ну, только на понт не надо пробовать, мы не в школе.
Именно так. И у меня, например, нет особо большого интереса к истории технологии. Однако откуда-то я знаю историю всего, с чем работаю. Потому что я с этим работаю, я просто не могу не сталкиваться с ней. Скажем, мне приходится поддерживать Python 2.7 на работе. Он мне интересен? Нет, я считаю, что он своё отжил, это прошлый век, однако я должен знать о нём, иначе я не смогу работать. Так уж мир ИТ устроен. Весь земной шар за один день не бросит Python 2.7.
Именно, моё заявление ничего никому не доказывает. Теперь понятно, о чём статья? Думать надо, а не поглощать всё, что тебе вбрасывает человек, сидящий напротив. Хвалю за внимательность.
michael_vostrikov
И теперь все должны отвечать про распараллеливание, даже если у них не было такой реальной задачи, и с учетом развития технологий вряд ли будет, а если и будет, то они с большой вероятностью решат ее и без предварительного знания, как решают сотни других рабочих задач?
Так вам уже несколько человек на техническом сайте сказали, что их интерес в целом она не помогает определить. То есть у них иинтерес есть, а ваша техника говорит, что нет.
А еще может быть так, что интерес к программированию заключается вовсе не в том, о чем вы написали.
IlyaFaer Автор
Эту задачу можно решить и чистой логикой, между прочим. Чистейшей. Ничего особенного. Если бы я задавал вопросы на собеседовании на венгерском, тогда да, претензия была бы обоснованной, но тут просто мозгами надо пораскинуть. У меня даже джуниоры её решают, без дня опыта. К тому же это один из 25-ти вопросов, не всегда мной применяемый.
Да, но эти несколько человек — капля в море людей, которых я прособеседовал. Повторюсь ещё раз, огромное кол-во кандидатов пытается на собеседовании продемонстрировать интерес. Но этот интерес заканчивается на фразе «мне интересно». Ни больше, ни меньше. Они ничего не знают, они не занимаются самообразованием, многих вообще трудно назвать программистами. В чём, спрашивается, заключается интерес? Может быть, это просто голословное утверждение, призванное кому-то что-то доказать? Техника предусматривает борьбу с такими явлениями.
Я полагаю, Вы просто плохо понимаете, какое безумие творится иногда на собеседованиях, и потому не можете в полной мере оценить сложность этого мероприятия. Уверяю Вас, это целая наука.
Хорошо сказано, и, кстати, уместно, талдычу об этом уже пол дня! В чём же, по-Вашему, заключается интерес к программированию?
michael_vostrikov
Так в том-то и дело, что нет. Просто интерес заклчается не в том, о чем вы спрашиваете. То есть не в истории, создателях и рейтингах.
В написании программ и изучении приемов программирования, очевидно же.
IlyaFaer Автор
Ну, если Вы изучаете программирование, Вы в любом случае будете сталкиваться с понятиями, идеологиями, языками, посещать конференции, бродить по форумам, подписываться на новости… Вы же не можете изучать программирование, не прибегая к поиску информации и общению с другими программистами. И рано или поздно Вы узнаете о создателях, рейтингах и всём остальном. Вы можете не интересоваться жизнью Гвидо ван Россума, но в одной из новостей его упомянут, назовут «пожизненный диктатор», и скажут, что поэтому вот так это работает в Python'е, и вот Вы уже что-то узнали. Без фанатичного влечения к его персоне, просто попутно. В статьях и книгах же пишут не строго только то, что Вам интересно, там проскальзывает очень много смежного.
Сама по себе группа «интерес» — это одна из пяти групп первой половины собеседования. Если посчитать грубо — это 10% всего мероприятия. Я думал, у русских больше всего будет возгласов по поводу того, что кандидата вводят в заблуждение, чтобы посмотреть, как он себя поведёт (я даже намеренно делаю ошибки на собеседовании и смотрю на реакцию кандидата — не беспредел ли?). А все почему-то вцепились в интерес, хотя я несколько раз сказал, что это не «код красный».
У меня как-то был кандидат, который совершенно идеально подходил, всё знал, горел интересом, ответил на такие вопросы, на которые люди с двадцатилетним опытом ничего путного не смогли изобразить. Но когда мы начали работать, оказалось, что он совершенно не врубается, как решить задачу. При этом он полностью понимает API и проблему. Грубо говоря, он знает, какие овощи нужны, и они у него даже есть, но как превратить их в борщ, он не понимает. Но это единственный аномальный случай, наперевес которому удачно подобраны десятки людей.
Интерес — ещё раз, это одна из частей, и она может проходить в форме свободного разговора, а не строгого опроса по конкретным вещам. То есть ответы на всё, о чём здесь ведутся споры, были даны сразу же, прямо в статье.
michael_vostrikov
Да, да, да, нет, нет, нет. Это вам и пытаются объяснить.
Вот именно. Я знаю создателей Python, Perl, Pascal, С, при этом я ни на одном из них не пишу. А из тех, на которых пишу, знаю только для одного.
Потому что это наиболее нелогичная часть вашей методики.
Так дело в том, что она влияет на решение. И вам говорят, что эта часть неправильно показывает то, на основе чего вы будете принимать решение.
IlyaFaer Автор
Я вижу, что мне сразу несколько человек уже пол дня пытаются объяснить, что они прочитали эту статью на сайте для программистов, где они сами пишут статьи по программированию, но при этом они не проходят по пункту, в котором сказано, что по нему проходят люди, которые читают статьи на сайте для программистов и пишут статьи по программированию. По статье интереса Вы все как раз-таки прошли почти сразу, уже потому что Вы эту статью прочитали.
Вы сами по каким-то неведомым причинам решили, что Вы не проходите по пункту, по которому, приди Вы ко мне на собеседование, Вы бы прошли экстерном. Я Вам точно говорю: у меня Вы бы прошли по интересу! Почему Вы решили, что я решил бы, что Вы мракобес, и почему это Вас так задело? Ну, на эти вопросы Вам придётся ответить самостоятельно, ведь для меня это загадка.
Так что, мой друг, система работает, проблема в том, что Вы как-то неправильно её к себе применяете.
michael_vostrikov
Вы писали:
"Я обычно прошу кратко рассказать о языке программирования: когда возник, кто разработчики, каковы отличительные особенности и идеология. Информация едва ли помогает в работе, но показывает интерес в целом. Часто спрашиваю о рейтингах языков программирования и о том, о каких новых языках в последнее время слышали."
Я отвечал на этот комментарий. Тут нет ничего про то, что форумы показывают интерес. И разговор идет о том, что эти пункты интерес не показывают.
В статье вы писали:
"Посещение конференций, ведение блога, форумы, личные проекты, участие в Open Source разработках, знание новостей мира программирования и истории ИТ, научных идей, вроде цикломатической сложности кода и формальной верификации алгоритмов, принципов KISS, DRY, SOLID".
Форумы здесь только один из пунктов, причем больше половины из них не являются следствием интереса к программированию, включая сами форумы.
Про форумы вы писали:
"Задаю вопрос об активности на сайтах-форумах, особенно зарубежных"
Хабр это не зарубежный форум, и из ваших слов следует, что вы считаете, что это показывает меньший интерес к программированию, чем активность на зарубежных. Что неверно.
Лично я на Хабре зарегистрировался после 3 лет работы и университета, причем это единственный форум, где я сижу. По вашим словам получается, что до регистрации у меня интереса не было, что тоже неверно.
Таким образом, ответ на ваш вопрос — это задело многих (включая меня), потому что в соответствии с вашими критериями у них нет интереса к программированию, что не соответвует фактам, и они не хотят, чтобы кто-то из их будущих потенциальных руководителей руководствовался ими при принятии решения.
IlyaFaer Автор
Дак а остальная статья? В одном предложении я не упомянул форумы, но все остальные-то остались. Человек спросил конкретных примеров — я привёл. Не жёсткий список вопросов, а несколько примеров вдобавок к тому, что я уже сказал. Я же не отказываюсь от своих слов, в конце концов, дополняю всего лишь.
Я понимаю, что если рассматривать вопросы утрировано, жёстко, техника может сильно просесть по логике, но я же нигде ни слова не сказал о том, что это строгое правило.
Если рассудить в этом ключе, то, пожалуй, на мне есть определённая вина — если формулировка пункта создаёт такой резонанс, вероятно, стоит переформулировать, потому как в действительности не всё так максимилизировано. Повторюсь, этот пункт может проходить в форме свободного разговора. В котором данные вопросы могут помочь Вам выявить интерес. Который является одним из показателей в пользу кандидата.
shiru8bit
Не так уж давно были времена и места (на периферии изменения происходили позже), когда именно так и изучали, т.к. просто негде было искать информацию и не было способа найти едва существующих единомышленников. Эти времена породили немало специалистов, которые успешно работают до сих пор, и вполне ещё далеки от пенсионного возраста. Но получается так, что по вашим критериям у них нет интереса.
IlyaFaer Автор
Хорошо, ДОПУСТИМ, они не прошли по критерию интереса. У них есть ещё 55 мин. собеседования, чтобы продемонстрировать всё остальное. Или эти люди придут в ужас и сразу покинуть собеседование, а вечером дома покончат с собой? Что Вам всем так дался этот интерес? Не может человек интересоваться, но при этом ничего не знать о мире ИТ, если только у него нет интереса писать всё время одни и те же программы одним и тем же способом.
В подписи к группе сказано:
То есть ответы специалистов из тех времён не так значимы в этой группе, по сравнению, например, с молодёжью. Ответы на ВСЕ комментарии уже есть в статье. Мне приходится повторять каждому то, что уже написано в статье, как будто читать никто не умеет.