Comments 36
Хорошая статья. Мало таких собеседователей, но Вы не указали на ограничения по возрасту кандидатов, а оно есть и после 40 превращается в ключевое. ;)
И что, с того что у меня работа в ИТ аж с 1979года? Харды? Да какие угодно, но все "примерно по среднему", ибо "помнить всё" - не реально, память давным давно ушла в своп и не вернулась. Последние лет 15 вообще не запоминаю что делал и как, ибо это всё ровно одно и тоже. Всё что надо было накодить украдено до Вас, впрочем, по большей части и до нас тоже или как раз нашим поколением погромистов. ;)
Примеров? Да сколько угодно, начиная с писания на Си диспетчера задач с хоаровским взаимодействием процессов, по типу Ада (семантический компилятор с неё тоже был в загашнике когда-то) .. это ровно то, что теперь внезапно называется "каналы и горутины в языке Golang" .. почто у меня Си-шная прога могла в слайс каналов в селекте, а Го .. никак по сию пору? ;) 1994 год или около него +- .. точно уже не помню. ;)
Что было самое интересное? Не .. не это, как ни странно. Самым своим чудом считаю Ассемблер-Реассемблер для Д3-28, который занимал весь целых 8 килобайт, и единая таблица мнемоник применялась в нем трижды: как таблица текстов мнемоник, как набор кодов программы реассемблирования мнемоники и как часть кода ассемблера для получения кодов команд из мнемоники.. 4 килобайта, примерно половина всего могла применяться в трех ипостасях. Да, я понимаю что теперь это "фу-фу-фу", ибо нарушает тот же "SOLID", и др. "принципы" придуманные нашим же поколением (помню те конференции, где это ещё начиналось) для "бестолковых джунов", как решение вопроса "Как быстрее ввести в профессию новичков и избежать переделок за ними?" .. заставь дурака Богу молиться он и лоб пробьет.. ;)
Обучаемость? По сию пору стараюсь держать на самом высоком уровне. Освоение Парадокса в 2009-м - неделя до первого применения, пара месяцев до полноценного сеньора; Го - неделя до начала работы на нем в позиции мидла... и чО? (спрошу по современному) ;)
.. и Вы всерьез считаете что это я бахвалюсь типо "один такой"? :) Да любой погромист возрастом 50+ не ушедший с профессии в рукомахательство расскажет Вам с 10+ таких историй.. ЛЮБОЙ.
Толку? Одно время собеседовался "из принципа" повесив резюме .. как-то ХР-ы забывают что собеседование это "палка о двух концах": не только Вы смотрите кандидата, но и кандидат смотрит на Ваших "тимлидов", зачастую молодых и малообразованных. Несколько раз натыкался на дурацкий вопрос: "Расскажите нам как делается сортировка вставками?" ЧО?!? Оно Вам зачем? Давным давно сей алгоритм включен во многие библиотеки и знать как оно делается современному даже сеньору .. незачем. В общих чертах может и расскажу, но в деталях .. увольте, хотя Кнут долго в моей жизни лежал на столе.. хотя о чем я? Половина тимлидов не то, что не читали ни Ахо с Ульманом ни Кнута .. они и само слово на слух воспринимают неправильно! ;)
В целом (и по частям как Петербуржец) - плюсую. Хорошая статья. Когда-то, будучи "дирехтуром" сам так принимал народ..
Душно
С возрастными кандидатами бывает такая проблема, что они считают ниже своего достоинства "опуститься" на уровень собеседующего и поговорить с ним на одном языке.
При этом мне самому ближе к пятому десятку и я собеседовал достаточно людей 50-60 (на позицию разработчика под БД Oracle, если что).
Были отдельные кадры, от которых прямо сквозило при общении "да вы вообще всё делаете не так, я один тут дартаньян с опытом 20 лет". Зачем мне такой сеньор в команде, вот честно?
Наряду с этим - встречались и прекрасные варианты, и у меня даже работал такой человек с возрастом в районе 60 (правда умер от ковида, но это отдельная грустная история)
Если человек весь из себя такой опытный - то он первым должен понимать, что собеседующий видит его впервые в жизни. Собеседующий не может с одного взгляда оценить его как профессионала и "подпрыгнуть" на его уровень общения. Собеседующему, хочешь не хочешь, а приходится начинать интервью с чего-то "среднего по больнице". Резюме конечно есть, но не всегда люди умеют адекватно его составлять.
Я научился составлять резюме только после того как сам начал собеседовать людей и начал понимать, что реально должно быть написано в резюме с точки зрения нанимателя.
Небольшая правка: не опуститься до уровня, а подняться. Мне, примеру сложны все новоанглицизмы.
Удалено.
На днях было собеседование с человеком 52 года. Мне 32) Увидев меня у него прям лицо поменялось. На попытки вопросов и рассказать, про проекты отвечал сквозь зубы, ответами из серии: "Работу делал, у нас там свой фреймворк, который лучше чем ваш стек".
HR потом сказала, что на первом созвоне, рассказывал спокойно, и без каких либо проблем
Поддерживаю, и даже считаю отсутствие таких наклонностей признаком адекватности. Если человек стал техлидом, имеет отличные харды и софты, и при этом видя джуна или его ошибки - то будучи нормальным человеком просто его поправит, объяснит и все. Часто же приходится видеть обратное - люди в такой ситуации, как сказал мой бывший коллега, "Смотрят как на пыль". Как будто это не просто человек без большого опыта, а какой-то ущербный. Снобизм для меня - одна из худших черт характера.
С другой стороны, любой разработчик знает, что есть профессионалы уровнем выше, и если я встречаю а собесе, или просто в жизни человека, который действительно имеет бОльший опыт, нежели чем я - я всегда с удовольствием послушаю критику и советы.
"аналогичный случай был в городе пизе"
И тут программисты дружно договорились устраивать друг другу на собесах кромешный ад, дабы потешить свое ЧСВ максимально дорогим для компании образом.
Что характерно, именно на собесе в Миро я ощутил этот вайб. Про HR-этап не скажу ничего плохого. Потом был мутный дядечка из Германии, который все пытал меня, что я буду делать, если коллега ведет себя неадекватно. Я не знаю, дядя, я ж не в психлечебнице работаю. Для рядовых конфликтов я всегда находил компромисс через разговор - но дядю такой ответ не устроил. А потом был как раз часовой лайвкодинг, где 2 сотрудника просто молча смотрели на мои страдания.
Никаких гипотетических или абстрактных вопросов типа...
Для этого в бой идут:— Абстрактные алгоритмические...
Ясно-понятно.
Так автор же и говорит, что это плохо. В обоих случаях он приводит их как антипаттерн при проведении собеседования:
Никаких гипотетических или абстрактных вопросов типа
...
Надо не выпендриваться, а давать типовую задачу, с которой реально придется сталкиваться
Если вакансия не подразумевает знание распространённых алгоритмов или формализации (формошлёп, crud-писатель, например), то это правильный же подход?
— И прочие способы сжечь бабло, так и не выяснив умеет ли кандидат работать работу;
В этом же списке:
Энд мы кэн нот чуз на каком лангвич ту спик, чтобы казаться смартэ
Отличная статья!
Наверное самое приятное пока, что видел на хабре из собес-сценариев
К оценке однако есть вопросы, что делать, если человек 3/3/3, - это оверквал?
Почему есть крайне узкий предел по хард скиллам? 1-2 это джун, окей, но между техлидами разница просто космическая, берете ли вы первого проходящего?
Отличаются ли задачки для джунов и для синьоров? Если да, то как вам удается не превышать 15 минут, если нет, то влияют ли они на оценку синьоров?
Это скорее описание ментальной модели, которую я использую при определении подходящей роли для человека. В реальной скорекарде нет шкал "Харды", "Коммуникация", "Обучаемость", потому что это очень утрированная оценка.
> Отличаются ли задачки для джунов и для синьоров?
Задачи не отличаются от грейда, иначе сложно сравнивать. В том числе грейд определяется на основании качества ответов на одинаковые задачи.
> Если да, то как вам удается не превышать 15 минут
А мы и превышаем, потому что текущий процесс собеседования отличается от описанного.
Но даже в те моменты, когда мне я интервьюировал по описанному подходу часто вываливался за рамки часа.
- С сильными кандидатами потому что есть что обсудить.
- Со слабыми потому, что медленно отвечают, но прерывать на середине некорректно.
Т.е. в статье целевой формат, в реальности лучше закладывать полтора часа на интервью, если идти по подобному процессу.
значит не было самоотдачи или «я просто исполнял приказ». Тут в любом случае глубины нет — для нас ред флаг.
Т.е. работал в поддержке 3 уровня десяток лет, беря таски из джиры - все, на помойку?
Надо не выпендриваться, а давать типовую задачу, с которой реально придется сталкиваться, но решаемую за 5-15 минут.
Если нанимаем обычного фронтендера, то и просим обычную форму завестать. Потом валидацию и аксесабилити прикрутить.
Я вот не фронтендер, но скажите, реально ли проверяется навык фронтендера (вроде как программиста) вёрсткой форм?
Второе, реально ли сверстать условную форму оплаты картой +опции доступности, а так же написать валидацию (какую? хорошая валидация -- отдельный навык) и всё это за 15 минут?
Все написанное ниже является персональным мнением и ни как не отражает существующий процесс собеседования в Миро.
Для меня очень непонятная приписка от человека, который провел 500 собеседований в миро. Сколько там у вас раньше было - 4 интервью? Плюс звонки по рекомендациям, которые указал кандидат.
Я бы понял приписку, что провел 500 интервью. А когда человек активно собеседует и совсем не так, как пишет и никак не может повлиять на их проведение - ну такое.
Ну епрст, опять двадцать пять. Ну давайте ваш собес
Чем четче в терминах бизнеса сформулирована проблема, тем лучше.
А если это опен сорс, или аутсорс, где бизнес - ровно сделать ТЗ от и до? А если я в крупной компании, где бизнес - вообще не моя сторона? Я в лучшем случае знаю, сколько стоит наше облако. До нашего подразделения задачи доходять типа "Отказоустойчивость надо повысить до трех девяток для таких пользователей, и до четырех для таких. Срок - три месяца". И вот я понятия не имею, как они высчитали, что именно такой порог им нужен для бизнеса, а дальше импакт/затраты не срастутся. Это не значит, что я говно специалист - вполне вероятно компания просто так организована.
Кандидат должен все помнить, даже если проект был 5 лет назад
Да ладно? Я вот открываю свои коммиты двухмесячной давности, и попадаю в одну из двух ситуаций: "какой м**ак это написал?" и "круто, хочу уметь так писать", только потом понимаю, что код мой. Потому что перед тем, как написать что-то сложное, я глубоко погружаюсь в контекст. Мы тут внутренний алгоритм сжатия два года назад замутили (объяснить, с точки зрения бизнеса, зачем?), так у меня на столе была бааааальшая такая стопка статей и пара книг. Я половины названий-то не вспомню, не то что пересказать. Но как же хорошо, что я написал документацию, в которой описал как все работает, чем руководствовались, какие идеи отбросили и почему.
Я такого рода написанные мной доки/заметки перечитываю, для повышения таксказать квалификации. Сделано очень круто, а детали забываются. Если у вас один "самый-самый" проект, который настолько крутой что вы только его помните - мне вас жаль. У меня каждый второй проект - это эпическая история, и я физически не могу помнить каждый в деталях.
Надо не выпендриваться, а давать типовую задачу, с которой реально придется сталкиваться, но решаемую за 5-15 минут.
Что очень хорошо говорит о вашем месте работы. Если у вас есть реальные "типовые" продуктовые задачи, которые решаются за 15 минут... Ну, вы в зоне GPT-риска.
90% задач у меня начинаются, внезапно, со сбора данных.
Для новых фич - анализ потенциальной нагрузки, особенностей данных, гарантий предоставляемых внутренними сервисами, и декларированных новыми внедряемыми. Ну и как верифицировать успех, как не сломать существующие потоки.
Для нефункциональных изменений: сбор внутренней телеметрии, внедрение новой, попытка понять где что не так работает, какие данные нам нужны для локализации проблемы. После чего поиск решения: спрашиваем коллег и гугл кто как такое решал, как решается в других продуктах-командах, собираем tradeoff для разных решений, выставляем ответственному за продукт на выбор, он говорит что-то из серии "сотня машин для Metric Space Index не проблема, а вот ответ должен укладываться в 80ms, такчто третий вариант кажется лучше всего".
И вот это 40% времени. Дальше код, редко простой и на 15 минут. Обычно сложно распиливаемый проект на месяц. Потом - долгая процедура тестирования верификации и деплоя, которая еще 30% времени.
И что удивительно: "типовых" задач не появляется. Все типовое делается один раз так, чтобы второй раз эту же задачу не решать.
А самое главное, если у вас такие есть: откуда такое пренебрежение алгоритмическими задачами на собеседовании? Тоже условно типовые задачи с некоторой вариативностью, заодно логику проверить.
Проактивность в обучении и страсть к делу
Это вы вообще прекрасно оцените за час собеса. Знаете поговорку "У меня нет приступов лени. У меня приступы активности, а лень у меня - постоянная". Чел просто один раз выспался перед собесом и заварил литр крепкого кофе. Даааа, активность и страсть к делу. Особенно прекрасно оценить "обучаемость" за час собеса. Не за 11 лет, а за час.
Вцелом, вывод: результат собеседования, это субъективная оценка кандидата собеседующим.
Вы просто пытались рассказать, почему ваша субъективная оценка может оказаться релевантной некоторым кандидатам, и некоторым местам работы. Меня вы, скорее всего, не возьмете, а если возьмете, то я к вам не пойду: не хочу решать типовые задачи на 15 минут.
Да я бы даже так сказал — ну вот у меня есть типовые задачи, допустим. Но у меня нет типовых кандидатов. То есть, кандидатов, которые знают мой стек от и до — их можно искать днем с огнем, и не найти. Поэтому все кандидаты, с высокой квалификацией, но чуть в другой, более типичной области, мои типовые задачи по 15 минут будут вероятно решать 150.
не хочу решать типовые задачи на 15 минут.
Очень похоже )
Это всегда так 150 вместо 15, пока не втянешься.
Не, я видел в свое время одного, который, как сказывали, пришел в легаси и за 8 часов первого же дня работы закрыл то ли 6 то ли 16 баг-тикетов.. вот так вот сходу, впервые воткнувшись в багтрекер и код. Сдается мне, что вопрос был не в его квалификации (кстати, джун-мидл на тот момент) а просто в качестве этого легаси. ;)
Нормально, ни один человек не в состоянии быть в глубоком погружении во всем стеке, применяемом во всех местах одновременно. Но .. только так можно ожидать, что сеньор придет и сразу начнет работать на полную катушку. Даже одни и теже инструменты зачастую применяются "ровно наоборот", особенно новомодные.
Зато периодически можно услышать "нам нужен специалист, который сразу втянется в нашу работу" .. это, простите, "как"? Кмк, только тот, кто уволился не позднее недели назад, я так думаю. От одного до трех месяцев он только будет постигать ваше легаси (от его размера), а ещё доходить своим умом КАК такое удалось и почему оно по сию всё ещё такое.. в общем-то поэтому "за одного битого, двух не битых дают, да и то .. не берут" (с)..
за 8 часов первого же дня работы закрыл то ли 6 то ли 16 баг-тикетов…
Я тоже такого видел. Я типа тимлид, щас я вам тикеты позакрываю… потом пришлось его изменения откатывать, потому что формулировку тестировщика, что "вот это вот по умолчанию должно быть равно тому-то" интерпретировал неверно. Всегда есть вещи, которые по незнанию можно интерпретировать двояко, и то что постоянным членам команды понятно без слов, для стороннего потребует либо лекцию, либо чтение документации.
Но — при этом сеньор таки как правило обнаружит возможность такой двоякой интерпретации, и задаст вопрос — а джун на этом же месте просто реализует неверную интерпретацию.
А насчет задач — ну у нас все же очень специфический стек. Скажем, много вы знаете людей, знакомых с Oozie? Я думаю что конторы в России, где таки люди есть, можно пересчитать по пальцам. А это инструмент, хоть и второстепенный.
Харды: 3
Коммуникация: 2-3
Обучаемость: 1-2
Техлид. Берем.
ТехЛид с обучаемостью 1-2 это как?
Как тогда он заработал свои Хард Скилы на максимум?
Или заработал и уже остыл, дальше будет почивать на лаврах уже достигнутого результата и препятствовать техническому движению вперед ...
Думаю, что все люди разные - по обе стороны. И как не меняй алгоритм - всё равно будут вываливаться исключения. Как с сильной недооценкой кандидата, так и переоценкой. Это не значит, что не надо искать алгоритм. Надо, но везде он будет хоть немного (а иногда и принципиально) другим. И всем к этому надо относится несколько спокойней.
— в двух словах расскажи про свой самый интересный (самый сложный) проект?
Меня всегда вгоняли в ступор такие вопросы.
Что если у меня вообще не было интересных проектов? Я, например, всю жизнь хотел заниматься биоинформатикой, геоинформационщиной и прочей алгоритимстикой. Разве я виноват что на рынке мало подобных предложений? Надо признать, что большинство задач не являются сколько-либо интересными.
Что касается сложности проекта, то что это проверяет? Что является предпочтительным ответом? Сложность это хорошо или плохо?
Чем опытнее кандидат, тем менее сложными кажутся ему его проекты и тем менее сложными он их делает. Обычно сложности возникают из-за технических просчётов, багов в выбранных библиотеках и неясной аналитики.
Как правило, самые интересные проекты связаны с личным архитекторством велосипедостроения: не взлетит, так шишек "как не надо" понабиваешь на будущее. Но вот для собеса в качестве примера оно такое себе.
А так, конечно, если мы посмотрим на ситуацию со стороны нанимающего, то тому хотелось бы, чтобы кандидат проманифестировал личным интересом к текущим задачам конторы или хотя бы к персональному опыту из прошлого самого интервьюера -- чтобы перевести беседу в "недушное" обсуждение славных прошлых деньков. Поэтому такое направление для разговора всяко получше люков, продаж ручек и сортировок красно-черных деревьев в вакууме, но тоже не всегда к конструктиву приводит.
Как вы проверяете обучаемость? О самом интересном ни слова не нашел.
Хороший вопрос. В свои 60+, стараюсь читать, искать, узнавать что-то новое .. вот Хабр - каждый день мин. 1-1.5 часа. Тут выше писал, что "Go освоил за неделю" .. хм.. это я поторопился, однако. :) Третий год работы, вроде "вдоль и поперек", но .. второй вечер не могу понять КАК в моем, в общем-то тривиальном куске кода бенчмарк показывает аж целых 3 аллокации, когда в похожем коде из стандартной библиотеки только .. одну. Ну ок, одну делает Sprintf() - одинаково, что там что тут, ещё одну я делаю сам сознательно требуя от кода реентерабельности для горутин. Где третья, Карл?!? :)
Все глаза уже поломал..
Годная статья, спасибо 👍
Но вопрос про оценку обучаемости, действительно трепещет :-)
Недушные интервью разработчиков