Почему разработчикам приходится проходить через этот унизительный процесс собеседований
Собеседование на позицию мидла в 2023 году, фото в цвете
Нет сейчас более сложной в трудоустройстве сферы, чем IT. И речь идет не о количестве кандидатов на одно место, хотя и здесь не все гладко, а, скорее, о том, как сам по себе выстроен процесс наёма. С каждым годом собеседование на любую девелоперскую позицию все больше и больше походит на попытку просочиться сквозь мясорубку, а в конце остаться одним куском.
К сожалению, мало кто задумывается, как мы к этому пришли и чем это грозит индустрии, но конкретно в IT появляется все больше и больше порочных практик в плане собеседований. Так, в русскоязычном комьюнити в том же твиттере на голубом глазу уже полгода обсуждают, стоит ли «приписывать» себе пару лет опыта в резюме, чтобы получить лучший оффер. Следом за этими же высказываниями появляется вполне обоснованный твит о том, что бесплатные тестовые, да и вообще практические тестовые задания — неважно, на двадцать минут или на пять дней — порочная практика и браться за них не стоит. И все это щедро присыпано всевозможными менторами, которые научат правильно «накидывать» себе опыта коммерческой разработки, рассуждениями о том, что по собесам надо ходить, как на вторую работу, и вообще, что HR-ам так и надо.
Проблема верификации опыта
Я сам не люблю процесс наёма и собеседования. Не люблю неквалифицированных IT-рекрутеров, их всевозможные списки, отсутствие обратной связи или, наоборот, чрезмерную навязчивость вкупе с полным непониманием предмета разговора. Но что если копнуть чуть глубже и подумать:, а не виноваты ли мы сами в том хаосе, который сейчас творится на рынке труда? И что намного важнее: как это можно исправить?
В те далекие прекрасные времена, когда трава была зеленее, а ошметки от лопнувших доткомов уже ушли в землю и стали пищей для микроорганизмов, готовых извергнуть из себя массовый интернет, разработчики по всему миру отвоевали для себя, как им казалось, серьезную привилегию, суть которой можно свести к трем словам: важен только навык.
Да, именно так можно сформулировать принцип, по которому последние 20 лет брали на работу программистов. «Важен только навык» — мантра, на которой стоит коммерческая разработка. У тебя диплом юриста, но ты валишь чистейший и прекрасный код на плюсах? Важен только навык. Тебе 16 лет, а ты уже достиг уровня знаний мидла? Важен только навык. Тебя выгнали из школы и ты пишешь свое имя с ошибками, но просто гений кодинга? Важен только навык.
Когда трава была зеленее, а в программисты шли не только ради длинного зеленого доллара, а по призванию и складу ума, это на самом деле работало, вот так, по-джентельменски. Конечно, от компании к компании запросы разнились. Где-то требовали технического образования, просто потому что проект подразумевал знание вышмата или других инженерных дисциплин, где-то нужно было отсутствие судимостей, потому что имело место работа с чувствительными данными или конечным заказчиком выступало государство. Но в целом, двадцать лет назад, когда этот джентельменский договор о навыке окончательно установился, в IT случайных людей почти и не было. Ты либо через университетскую скамью и инженерные кафедры приходил к кодингу на плюсах, либо осваивал все необходимые разделы математики, логики, изучал алгоритмы и ЯП самостоятельно на том же уровне.
Стоит и понимать, что в начале нулевых, сразу после краха доктомов, трава на самом деле была зеленее. Просто обратимся к рейтингам TIOBE, которые скурпулезно собирают статистику по популярности ЯП.
Обратите внимание на графики 2002–2005 годов. Тогда существовало 3 доминирующих ЯП (C, C++, Java) и 1 язык веб-разработки (PHP). На них приходится около 60% всех проектов, написанных в то время. Также тогда если и использовали в работе библиотеки, это был вполне адекватный и базовый список, глобально упрощающий работу программиста вне зависимости от сути проекта.
Если мы посмотрим в хвост этого графика, то увидим, что все стало намного хуже. Новые задачи, устройства, способы взаимодействия, новые языки программирования и целые методологии разработки. Сейчас даже в рамках одного ЯП его знания для двух разных проектов может быть недостаточно, если досконально не знаешь, как работать с рядом библиотек.
За двадцать лет мы пришли к тому, что в текущих условиях разработчик не может доказать свою квалификацию. У сообщества просто не осталось подобных «точек контакта», благодаря которым можно было бы здраво оценить навыки кандидата. Записи в резюме — не всегда возможно проверить. Знание языка — не подтвердят и тестовые задания, тем более, сейчас ориентируются не на какой-то конкретный ЯП, а на целый стек технологий, связанных с друг другом. В сети даже стали появляться вакансии Full Stack Junior Developer, что само по себе отдает шизофренией. Коллективный договор индустрии, установленный когда-то джентльменами с кафедр MIT и прочих технических ВУЗов, который открывал двери в программирование для самородков, математиков и просто стремящихся работать с IT-системами, привел к тому, что к началу 2020 годов мы просто физически не можем определить, кто на самом деле является программистом, а кто украл резюме и прошел двухнедельные курсы «как пройти собеседование». Обращаю ваше внимание, не двухнедельные курсы программирования, а двухнедельные курсы прохождения собеседований. Потому что текущий процесс рекрутинга никак не касается реальных навыков разработки. Собеседование и реальная работа различаются точно так же, как и высшее образование и все та же реальная работа. «Забудьте все, чему вас учили, здесь все по-другому» — применимо и к современному процессу разработки.
Но ничего лучше у нас нет. В итоге мы и пришли к системе унизительных собеседований, тестовых на листочке, лайвкодингу и прочим практикам, что трудоустроенные разработчики так активно высмеивают, а находящиеся в поиске работы — люто ненавидят.
И вся эта история будет только усугубляться, так как процент вранья на рынке труда растет пропорционально его сокращению. Мест все меньше, желающих — все больше. И если десять лет назад резюме выходца из наших широт у западных компаний воспринималось положительно, ведь у нас была мощная школа самоучек и тех, кто пришел в программирование с кафедр МФТИ и прочих технических ВУЗов, то теперь — это повод относиться к нам, как к пакистанцам или другим выходцам из нищих стран Азии. На какие ухищрения идут они ради получения хотя бы 1–2 недельных зарплат на удаленке, можно почитать в моей статье тут «Невыдуманные IT-истории о самозванцах и почему появились эти непонятные практики на собеседованиях», гарантирую, это интересно. В той статье, написанной в сентябре 2018 года, был сделан следующий вывод:
Вообще на территории СНГ самозванцев исчезающе мало. Есть в нашем обществе «великие комбинаторы», которые, следуя заветам классиков, идут к успеху своим тернистым путями, но их число колеблется на уровне статистической погрешности. Да и других кроме IT сфер для их деятельности более чем достаточно.
А сейчас публичные представители индустрии на полном серьезе обсуждают, насколько приемлемо врать работодателю на собеседовании: чуть-чуть, или на полную катушку. Что же с нами стало?
А что с этим делать
Удивительно, но единственное, что мне приходит на ум — посмотреть через забор на админов и сетевых инженеров. В отличие от кодеров, которые когда-то пришли к коллективному соглашению «Важен только навык», там все намного серьезнее. И на самом деле, одно дело — баги в коде, которые выявятся на ревью или фиксятся быстрым патчем, а другое — поддержка инфраструктуры и подключение дорогостоящего оборудования.
Сетевые инженеры и админы к концу первой пятилетки своей работы начинают все больше и больше походить на северокорейских генералов. Только вместо медалей у них вся грудь — в сертификатах. Cisco, Microsoft, Amazon — все эти компании организовали сертификацию специалистов, которые будут работать с их продукцией. Хочешь доказать более высокую квалификацию? Сходи на курсы, отучись, получи соответствующий документ соответствующего уровня. Примерно по такой схеме, кстати, работают многие врачи — бесконечно учатся, ездят по конференциям и симпозиумам, готовят работы и доклады чтобы показать свой навык и объем актуальных знаний. А что может заменить сертификаты программистам? На ум приходят только следующие рецепты:
- собственные проекты на GitHub;
- развернутые рекомендательно-сопроводительные письма с предыдущих мест работы/проектов;
- профили на фриланс-биржах с выполненными заказами.
Короче, портфолио в любом его виде. Других идей пока нет.
К сожалению, желающие помочь вайтишниками и своим друзьям-джунам, которые захотели вкатиться в индустрию ради валютной зарплаты, привели к полному обесцениванию резюме как такового. Диплом по специальности «прикладная математика» или «инженер-программист» скажет о вас намного больше, чем резюме с тремя годами опыта работы в никому неизвестных аутсорс-компаниях. Это ужасно, потому что в ВУЗах у нас больше учат ходить на пары, чем чему-то толковому, но диплом можно хотя бы попросить посмотреть и убедиться, что он существует. А вот найти стартап «GOAT CODING» и вашего тимлида, который смог бы подтвердить ваше резюме — практически невозможно. В итоге получается, что реальные разработчики, которые пишут о себе правду, либо не могут найти работу, либо получают заниженные ставки — потому что им все еще не доверяют, а лжецы — отбирают у них места и только обостряют не слишком радужную ситуацию.
А какие способы верификации опыта разработки и/или борьбы с обнаглевшими вайтишниками и «приписывальщиками» предложили бы вы?