Ненастоящие сеньор-девелоперы, или почему годы опыта ни о чем не говорят

Привет, VC! На связи Александр Сельдемиров, основатель аутсорсинговой ИТ-компании ITQuick. Сегодня количество школ, которые обучают IT-профессиям, превысило все разумные пределы, а порой сложно разобраться и понять с первого взгляда, какие из них не организованы инфоцыганами. Только за 2023 год российский рынок онлайн-образования вырос на 30%.

С одной стороны, это понятно. Здесь есть деньги. На фоне затяжного экономического кризиса все больше людей хотят получить интересную профессию, где можно заработать пару тысяч долларов в месяц.

Но с другой, на рынок труда выходит огромное количество «специалистов», которые просто не готовы решать комплексные задачи бизнеса. И некоторым из них даже везет устроиться в крупную компанию и даже вырасти до миддла+ или сеньора. Почему так происходит и что в этих условиях делать бизнесу, рассказываю в этой статье.

Ненастоящие сеньор-девелоперы, или почему годы опыта ни о чем не говорят

Разработчик без фундаментального образования: новая реальность рынка

На самом деле программистов без профильного диплома много. В 2022 году HeadHunter проводил масштабное исследование, в котором 79% сотрудников IT-отраслей оказались без высшего образования в сфере компьютерных технологий. А конкретно среди разработчиков непрофильное высшее встречается в 66% случаев.

Интересно, что среди сеньоров с опытом от десяти лет процент профильного образования еще ниже. Но это можно объяснить. Сфера IT развивается очень быстро, новые технологии и инструменты появляются каждый год, а система высшего образования при этом сильно отстает от них. В российских вузах факультеты «Компьютерных наук», «Аналитики данных» или «Кибербезопасности» появились относительно недавно — специалист в возрасте 37+ вполне мог их еще не застать.

Но из своего опыта я скажу: чем выше грейд разработчика, тем более важно именно фундаментальное образование. Не обязательно именно в сфере компьютерных наук — подойдет почти любое техническое: физика, прикладная математика, инженерия.

Здесь можно привести простую аналогию. Чтобы построить сарайчик или бытовку, не обязательно учиться на строителя в вузе. Нужно уметь класть кирпич. Но чтобы спроектировать многоквартирный дом и построить его так, чтобы он не развалился, нужно крепкое строительное образование. Так и в программировании. Без глубоких знаний математики специалист способен вырасти до крепкого джуна или слабого миддла. Он действительно может решать несложные и рутинные задачи — строить бытовки, — но на большее рассчитывать не стоит.

Это главная причина, почему я не беру в свою команду разработчиков без технического образования. Если программист хочет вырасти до сеньора, он должен знать математику на университетском уровне. Точка.

Почему сеньорами становятся специалисты, которые не готовы к этому

На российском IT-рынке это реальная проблема. Есть очень много специалистов, которые занимают должности миддлов или сеньоров, но на самом деле не соответствуют им по стеку и уровню знаний.

При найме в крупные компании «проскочить» на позицию повыше не так и сложно. Нужно, чтобы сошлось лишь несколько факторов:

  • Система грейдов в компаниях размыта — нет никаких единых стандартов, каких специалистов мы считаем миддлами, а каких — сеньорами. В своем большинстве это субъективные системы оценки, которые зависят от человеческого фактора. В некоторых компаниях стандарты грейдов достаточно низкие. В одной команде специалиста могут нанять как обычного миддла, а в другой он уже практически сеньор.
  • Тимлидов и сеньоров, которые проводят техническое собеседование, часто отрывают от выполнения сложных задач, поэтому проверке знаний и умений кандидата они не уделяют должного внимания. Особенно в случаях, когда специалист идет в другую команду.
  • Если кандидат уже побывал на 7-10 собеседованиях на должность, он уже знает, какие вопросы обычно задают — в большинстве случаев они одинаковые или очень схожие. Чтобы повысить свои шансы, можно просто подготовиться отвечать на конкретные вопросы.

Бывает и наоборот. К примеру, когда реальный сеньор с шикарным опытом работы на сложных проектах просто некомфортно себя чувствует на интервью и показывает посредственные результаты.

Все мы люди, и банальные бытовые причины влияют на рабочие процессы. Кандидат не выспался, а тимлид компании утром с женой поругался — в итоге крутого профессионала не взяли. А на позицию потом наняли специалиста, который и выспался, и к вопросам подготовился. Даже если он в результате до должности не дотягивает по стеку.

Еще во многих компаниях российского IT есть странная система грейдов по выслуге лет. То есть, пришел на работу как джун — через полтора-два года ты уже миддл. А еще через четыре — сеньор. Но при этом человек все это время мог работать с совсем простыми сервисами и вообще не развиваться как профессионал.

У разработчика может быть десять лет опыта, но половину из них он фрилансил, еще несколько лет провел в стартапах, которые не выстрелили, а остальное время проработал в небольшой компании, где был чуть ли не единственным программистом. Сможет ли он быть сеньором в крупной продуктовой IT-компании? Вряд ли. Скорее всего, что даже на должность миддла его возьмут со скрипом.

Конечно, я немного утрирую, но время в профессии сегодня не значит практически ничего. При должном везении и усердии можно за три года прокачаться до сильного специалиста, который способен решать сложные задачи, а можно и за десять остаться слабым миддлом.

Как определить, что перед тобой сеньор: три основных критерия

Повторюсь: оценки субъективны, но лично для себя я выделил три основных критерия, которые должны быть у каждого сеньора. Никаких исключений.

Глубокие знания прикладной математики

В основе программирования лежит математика. Каждый сеньор должен владеть ею на высоком уровне. И это далеко не школьные знания, а вполне себе сложные и комплексные типы вычислений: математический анализ, дифференциальные уравнения, теория вероятностей и математическая статистика.

Без математики специалист просто не сможет работать на уровне архитектуры проекта или создавать сложные многоуровневые системы программного обеспечения. А есть отрасли, где даже миддлу нужна вышка: к примеру, кибербезопасность или некоторые специальности GameDev.

Технические университеты дают крепкий математический фундамент, который невозможно получить с помощью самообучения или на курсах. Я не знаю ни одного специалиста, который бы начал изучать высшую математику вне университета и в этом хоть как-то преуспел.

Но помимо практических знаний математики есть еще крайне важная особенность, которая отличает сеньора: техническое мышление. Каждый день на протяжении четырех или пяти лет студент решает задачи — это серьезно прокачивает умение человека думать в рамках строгой математической логики. Для сеньора это предельно важно.

Опыт работы в разных командах

Как правило, кандидат на должность Senior-разработчика уже поработал минимум в двух-трех разных командах. При чем важна работа не только внутри одного подразделения, но и коммуникация и взаимодействие с разными командами, которые работают над одним проектом.

При этом важно, чтобы бизнес был средний плюс или крупный. То есть, это грамотно налаженные рабочие процессы и уровни ответственности, четкое разделение отделов разработки и крупный продукт, который решает проблемы уровня сферы деятельности.

Это не только про хардскиллы и владение инструментами разработки, но и про взаимодействие с сотрудниками и умение работать в общей архитектуре проекта.

Постоянное обучение

И нет, это не про курсы и онлайн-программы. Потому что ни одни курсы не дадут сеньору больше новых навыков и знаний, чем работа над реальным комплексным проектом.

Что важно, сеньор понимает, какие именно знания он вынес из проекта — он умеет их выделить и структурировать.

Есть небольшой тест.

Если после сдачи проекта спросить у разработчика «Чему новому ты научился?», то миддл ответит «Ничему» или в лучшем случае перечислит технологии, с которыми работал.

Большинство сеньоров дадут развернутый ответ: подсветят, с какими сложностями столкнулись и как их решали в рамках команды, что было самое интересное, а с чем пришлось нудно и долго штудировать документацию.

Сеньор осознает, что технологии постоянно развиваются. И чтобы поддерживать свою ценность как высококлассного профи, ему нужно постоянно изучать что-то новое.

И самое интересное — сеньор прекрасно понимает, что многие возможности языка программирования или стека технологий он не знает. Потому что языки и фреймворки совершенствуются, появляются новые инструменты и функции, в которых нужно разобраться, меняется совместимость и взаимодействие. Ни один сеньор не скажет, что владеет какой-нибудь технологией идеально.

Как нанять сеньора в условиях дефицита сотрудников

Вместо выводов я хочу дать несколько советов компаниям, которые хотят найти высококлассных разработчиков уровня сеньор на современном рынке труда.

Проанализируйте, действительно ли вам нужен сеньор. Это первый момент. Для многих проектов на самом деле не нужен максимально опытный и знающий девелопер — их можно вести и силами миддлов.

Сеньорам нужны сложные и интересные задачи, где они успешно используют весь свой профессионализм. Если такому специалисту станет скучно — он уйдет, даже если компания платит вполне себе рыночную зарплату.

Проверьте, есть ли в компании структура команды, куда впишется сеньор. На российском рынке часто бывает, что бизнес растет сильно быстрее, чем его IT-отдел. И в какой-то момент получается, что у компании оборот на 10 миллиардов, а структура команды все еще на уровне стартапа.

В таком случае бизнесу придется менять фундаментальные принципы работы IT-отдела. Если нет структуры разработки, один или даже несколько сеньоров здесь не помогут.

Делайте один этап собеседований. Никаких психологических скринингов с рекрутерами — только предметное собеседование с руководителем отдела или тимлидом. Сеньоры прекрасно понимают ценность своего времени. Проводить несколько этапов собеседований могут позволить себе только лидеры рынка вроде «Яндекса» или «Тинькоффа».

Назначайте интервью максимально быстро. Крепких сеньоров на рынке всегда было немного, а сейчас ситуация стала еще сложнее. Поэтому когда на вашу вакансию откликнулись, назначать собеседование нужно буквально «на завтра».

Если же у тимлида или руководителя отдела ближайшее окно только через неделю, то поздравляю — до этого времени разработчика уже заберут.

Ситуация с квалифицированными кадрами в России очень сложная. Кадровый голод — это не миф, а реальность, в которой сейчас работает бизнес. И если компании действительно нужен сеньор, то действовать нужно быстро, но со всей внимательностью, чтобы вместо опытного эксперта не взять на работу вчерашнего выпускника курсов, который профессионал только на словах.

2727
35 комментариев

Интересная статья. Сам работаю с онлайн школами и могу подтвердить все, о чем пишете.

Штампуют неквалов, обучая их программированию за 2 месяца. Еще и гарантируя трудоустройство. Кому такие работники нужны?)

6
Ответить

Ну вот вы смеетесь, а у меня знакомый полгода проходил курсы на степике - сейчас разраб в сбере...

1
Ответить

видимо расчет на то, что рынок съест и так. Плюс на больших цифрах действительно могут попадаться толковые спецы

1
Ответить
2
Ответить

а сколько кг набрал?)))

1
Ответить

Зачем сеньору сильно углубляться в матан? Ему нужно иметь длительный опыт работы с технологими и обширный кругозор, чтобы спроектировать решение максимально отвечающее потребностям бизнеса. А алгоритмические задачи решает датасаенс или математики.

2
Ответить