Новая, блестящая и гениальная идея о построении современного процесса технических интервью в достойные, а не обосранные компании
Последние лет десять куча народу (в основном инфоцыган, менеджеров и проходимцев) затирает про важность софт-скиллов в карьере, а особенно - на собеседовании. Говорят, что в софт-скиллах даже большая часть успеха.
Я утверждаю следующее - это полупиздёж.
Софт-скиллы у советских айтишников отвратительные. Почти никто не фасилитирует беседы. Почти никто не исследует проблему вместо защиты своей позиции. Очень редко кто уважительно относится друг к другу, скажите спасибо если не матерятся. Если открыть комментарии на Хабре, то там аутичное буквоедство, люди показывают всё плохое что в них есть и вообще производят впечатление социопатов и инфантилов.
Часто может встретиться только напористость, умение манипуляциями и эмоциями убедить в своей точке зрения, отшить жалобщиков, отмазаться от задачи и тому подобное.
Но меня интересует другой парадокс.
Хард-скиллами часто считаются какие-то знания вместо навыков и опыта. Это заблуждение. Если ты прочитал десять книг по линуксу, но ничего линуксного не внедрил, то это не хард-скилл. Без опыта знания - это теоретизирование о том, как оно должно быть; если эта теория не подкреплена практикой в серьезной компании, то можно своё многознайство в жопу засунуть.
Можно сравнить это с ситуацией в градостроении, когда у нас каждый первый ценный специалист, едва оторвавшийся от маминой сиськи, знает, как класть бордюры и куда пускать троллейбусы, но среди них днём с огнём не сыскать никого, кто этим реально бы занимался.
Большинство контор на собеседовании, дабы проверить уровень кандидата, дают ему ебанутые тесты, задачи на алгоритмы и дизайн систем. Там до лютой шизы доходит - наниматели, с одной стороны, утверждают, что им важно не нанять в команду неподходящего чела, а с другой стороны, отправляют со своей стороны на интервью любого человека из компании (а не из команды, в которой соискатель будет работать).
Чего, казалось бы, проще расспросить человека об опыте, что он делал, какие внедрения совершал, как размышлял, принимал решения. Я считаю, вместо HR скрининга должна быть такая вот первая секция - expirience presentation, допустим. Пусть человек расскажет и поотвечает на уточняющие вопросы интервьюеров (специалистов, не hr, им тут делать нечего).
Ответы на вопросы вида "что такое solid" вообще ничего не говорят о человеке, потому что ответ мог быть заучен по дороге на собеседование, вычитан в книге, но ни разу не применён на практике. В итоге с реальной задачей такой кандидат может ебаться два месяца, постоянно тупя и прокрастинируя. Потому что читать книжки и обезьянка может, а в it надо ещё и головой соображать.
Второй секцией может быть рассмотрение реального бизнес-кейса, который был у команды или есть и сейчас. В этом тоже нет ничего сложного: даётся на выбор несколько вариантов, кандидат начинает брейнстормить, задавать наводящие вопросы, дизайнить решение. Вместо позорного system design, которое имеет нулевое отношение что к реальному процессу принятия решений, что к реальным задачам команды, - дать понять кандидату, чем он будет заниматься, и самим понять, как кандидат работает.
Мне однажды на систем дизайне по SRE (!!!) дали задачу отдизайнить приложение по отдаче промокодов. При этом команда рассказала, какие она задачи решала. Это были типовые девопс-сре штуки, типа перенос в облако, экономия на железе, алертинг как сервис и тому подобное. То есть кандидат, чтобы пройти такой собес, должен был подготовиться специально к таким собесам, прочитать книгу cracking system design interview, при этом он, кстати, не научится дизайнить реальное приложение по сбору промокодов, потому что для этого необходим опыт в разработке приложений, не инфраструктуры.
В процессе нормального real task brainstorm, назовем это так, могут выясниться плюсы кандидата. Может выясниться и наоборот - неадекватная реакция на возражения, тупое долбление в закрытую дверь, синдром утёнка, синдром моя хата с краю ничего не знаю, интерпрайзность мышления, ретардизм или снобизм.
Идея сделать всего два этапа - универсальная, она оторвана от специфики вакансии IT, она позволяет задать абсолютно любые вопросы, она позволяет выявить очевидный пиздёж, она позволяет стопудово не отбросить ценного спеца, а главное - она предполагает уважение и равноправие.
Если ты прочитал десять книг по линуксу, но ничего линуксного не внедрил, то это не хард-скилл. Без опыта знания - это теоретизирование о том, как оно должно быть; если эта теория не подкреплена практикой в серьезной компании, то можно своё многознайство в жопу засунуть.