"Найм сломан" — одна из самых заезженных фраз в IT, которая звучит из каждого второго утюга, да и на моём канале однажды обсуждалась.
Неужели люди, которые занимаются бизнесом столько лет, не научились нанимать специалистов? Я понимаю, что мы — разработчики знаем всё лучше всех, но давайте попробуем порассуждать.
Ты — проектный менеджер Тындекса, задача которого выпускать релизы в срок и поставлять фичи клиентам в запланированное время, а твоя зарплата зависит напрямую от KPI проекта. Какими качествами должен обладать человек в твоей команде?
1. Предсказуемый, чтобы ему можно было дать задачу и быть уверенным, что он её сделает в запланированные сроки.
2. Коммуникативный, чтобы мог договориться с командой, пойти в случае чего на компромисс и выбрать оптимальное техническое решение.
3. Технически подкованный, чтобы мог выполнять задачи и идти в ногу с командой.
Обрати внимание, что тебе не нужен рокстар, который будет применять лучшие паттерны, трижды превышая эстимейты, тебе не нужен Вася, который вроде код пишет отлично, но с командой в курилке не общается, да и Пете, который вот твой фреймворк знает не очень, зато модели OSI выучил ещё пятнадцать лет назад, ты, скорее всего, предпочтёшь другого.
Теперь посмотрим на типичную ситуацию: приходит кандидат, не блещет знанием всех паттернов, но базу знает, логически мыслит и очень приятен в общении. Берут его в команду — задачи делает в срок, с коллегами находит общий язык, если что-то не понимает, спрашивает. Менеджер доволен.
А потом на форумах: "На собесах спрашивают не то, это должен знать каждый первый джун в куа в 2010-ом году. Кстати, найм сломан, я в айти триста лет, высокие зарплаты — миф, вот у меня 75к".
Откуда у нас взялась уверенность, что хороший разработчик — это тот, кто может рассказать про все 23 паттерна GoF? Почему умение инвертировать бинарное дерево важнее умения не срывать дедлайны?
Может, менеджеры всё-таки понимают, кого им нужно нанимать, а мы сами придумали себе метрики правильного найма?
