Программистов не хватает - это миф

На модерации Отложенный


Разработчикам предлагает льготы государство, дают огромные зарплаты (ощущение, что кот прошелся по клавиатуре и сел на кнопку ноль), всякие ДМС и прочие плюшки есть по умолчанию, а линкедин уже давно назвали тиндер наоборот (то есть парням пишут девушки и очень много раз за день).

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

Давайте разбираться в этом парадоксе. Кстати, это меня еще в 2014 году удивило, когда я (будучи сам джуном) общался с рекрутером и он мне говорил, что как он рад, что хоть кого-то нашел. У меня тогда было два приложения за плечами и это был реальный опыт, но в компанию я не прошел, несмотря на всю нехватку.

Давайте, для начала, разберемся в том, кто именно распространяет это утверждение, что программистов сильно не хватает

  1. Продавцы курсов. Думаю не надо объяснять в чем их выгода? Но я все же напишу. Пользуясь этим мифом, они выбивают как деньги из конечных потребителей, которые думают (реально люди так думают), что я сейчас отнесу им 150 тысяч, а потом буду по 300 тысяч зарабатывать каждый месяц, так и с нашего государства, создавая всякие важные и нужные образовательные программы по подготовке детей, студентов и тд
  2. Государство. Чиновники различного уровня (пруф: https://www.comnews.ru/projects/it-is-priority/case-study/222761/million-deficitnykh-it-specialistov-za-4-goda#:~:text=первый вице-спикер Совета Федерации,наконец%2C в июне 2022 г.) постоянно об этом говорят. Единственный случай, когда я помню наоборот это, когда Греф сказал, что программисты не нужны (это другая крайность, я ее отдельно как-нибудь рассмотрю). Не знаю, что ими конкретно движет, поэтому даже предполагать не буду.
  3. Топы крупных компаний. Тут надо понимать две вещи. Первая - топы зачастую повторяют слова, которые им готовят заранее, а второе они могут говорить одно и тоже в совсем разном контексте. То есть, когда условный Skillbox говорит “нам не хватает программистов” и когда тоже самое говорит какой-нибудь CTO Vk это может иметь вот вообще разные посылы
  4. Блоггеры. Это либо замаскированные продавцы курсов (все курсы врут, но я то точно вам правду расскажу), либо там нужно смотреть видео и скорей всего в видео будет объяснено тоже самое, что я расскажу ниже
  5. Близкие и дальние родственники. Чудо истории о том как у соседки-то Любовь Ивановны внук уже программистом 100500 долларов в наносекунду зарабатывает одновременно нюхает манго на пляже в Тайланде и держит за задницу местных девочек. В общем классический сын маминой подруги. Ну тут нужно узнавать конкретно где работает? кем работает? как попал? какой опыт? И так далее. Лучше, если вы поговорите лично с этим человеком. Иначе я бы такое пропускал просто мимо как информационный мусор
  6. Журналисты. Этим вообще пофиг, что говорить лишь бы заголовок громче был. Как в том анекдоте, где ученый изнасиловал журналиста. В целом, все что говорят журналисты я бы игнорировал как инфомусор.

Возможно я вас, пока что, только еще больше запутал. Так есть нехватка программистов или нет? И да и нет. Нехватка программистов есть. Только вы, с точки зрения работодателя, не программист. Почему?

А потому что если помониторить вакансии, то вы увидите, что людям нужны Middle и Senior Software Engineer (аналоги старшего специалиста). Это не классический стаж в том понимании, что вы отработали 6 лет и вот вы уже заслуженный разработчик России. Нет. Это определенная оценка ваших навыков. То есть вы можете стать синьором через 2 года (теоретически), а можете просидеть в джунах всю жизнь (вот такое я видел гораздо чаще)

Грейды наглядноГрейды наглядно

Как именно определяется к какому грейду (ступени) вы относитесь?

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

И тут нас подстерегает еще один нюанс. Все грейды тоже относительные! То есть ты можешь быть Senior в одной компании, а в другой даже до джуна не дотянуть. И определит это тоже техническое собеседование.

А теперь представьте, что вам нужно взять к себе на работу скажем двух разработчиков допиливать ваше приложение. Вы дали объявление. Для эксперимента мы дадим его без указания опыта и зарплатной вилки. Сразу же к нам прилетит около 3-5 тысяч резюме. Буквально в первые два дня. Ого! А вы говорите, что айти специалистов не хватает. Дальше, мы садимся и начинаем отсеивать по релевантному опыту и скиллам эти резюме. Из них 95% будут выпускники курсов типа Skillbox, GeekBrains и тд. Я устал это уже повторять, но скажу еще раз. После курсов вы никому не нужны. Такие резюме просто выкидываются.

Дальше, из оставшихся 100-150 резюме (нормальный срез да?) мы начинаем смотреть их уровень. И тут у нас с высокой долей вероятности может не остаться вообще ни одного резюме. В лучшем случае их будет 4-5 не больше. Из них нужно прособеседовать их всех, убедиться, что вы сходитесь по мировоззрению с командой (это тоже важно, здесь тоже часто люди срезаются), сойтись по зп, сойтись по графику работы, по технологиям на которых написан ваш продукт (не все разработчики согласны работать со всем).

И в лучшем случае вы найдете одного кандидата (а вам надо двух, вы помните да?). А в реальности скорей всего вы не найдете ни одного. Именно поэтому компании ищут разработчиков по полгода, а иногда и дольше. Это еще очень сильно зависит от того, насколько высокие требования выдвигает конкретный тимлид, который отбирает людей

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

Сайт levels.fyi - уровни зарплат крупных мировых компанийСайт levels.fyi - уровни зарплат крупных мировых компаний

Но, при этом в крупных компаниях этот процесс выстроен на потоке, то есть для них ложно-позитивная ошибка (то есть когда ошибочно взяли плохого программиста) намного страшнее, чем ложно-негативная (то есть когда ошибочно не взяли хорошего). Поэтому там стоят заградительные барьеры в виде высшего образования, 4-6 лет опыта, реальных кейсов работы в крупных компаниях и так далее.

Давайте подытожим. Программистов очень не хватает. Выращивание специалиста серьезного уровня (а наше IT действительно очень сильное) это занятие очень долгое и требует 5-7 лет, а иногда и больше. И не хватает именно вот таких вот программистов.

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

И инициативы вроде этой (https://habr.com/ru/news/t/713174/) они не дадут никакого результата. То, что кто-то умеет на миде защищать мамку и сидеть за компом по 18 часов в день еще не значит, что из них получится хороший специалист, которых не хватает