Сколько лет вашему сеньору?
Не знаю как вам, а мне кажется диким когда люди с парой лет опыта величают себя «сеньор девелопер». Конечно, отдельные гении могут писать идеальные программы ещё в школе, но на то они и гении — единицы из миллионов.
Однако в последнее время этих самых гениев что-то стало многовато. Не просто много, а достаточно чтобы оказывать влияние на рынок. Легко можно найти вакансии сеньоров/архитекторов/тимлидов с опытом от года.
Так что же происходит? В самом деле у нас урожай гениев или просто модная тема новостей? Поменялось ли что-то за последние годы? Я решил узнать. Под катом методология исследования, немного графиков и внезапные результаты.
Методология
Очевидно, что рассматривать как метрику высказывание человека о самом себе не стоит. Но вот к мнению отрасли прислушаться стоит. Я решил получить выборку требуемого опыта для вакансий за последние годы и использовать как оценку «стоимости» статуса сеньора опыт в годах который требуют от претендентов.
Для получения данных я написал парсер hh.ru. К сожалению, запарсить все тридцать миллионов их архивных вакансий либо дорого, либо долго. Поскольку исследование носит оценочный характер, я счёл допустимым выбрать значимое количество данных и предположить, что каких-то аномалий распределения нет.
Было запущено 30 инстансов парсера с шагом в миллион id по вакансиям. первый инстанс собирал вакансии от 1(на самом деле от 3, вакансий с id 1 и 2 нет) до 1000000, второй от 1000000 до 2000000 и так далее. В том маловероятном случае если парсинг будет идти быстро, должны были быть получены почти все вакансии. К сожалению парсинг довольно заметно замедлился приближаясь к 1000000 записей в базе данных. Пришлось остановить его имея 1194221 вакансии. Пользуясь случаем, хотел бы выразить благодарность компании HeadHunter которая за эти двое суток меня не заблокировала.
При подсчёте интервал опыта оценивался как среднее арифметическое границ, например 1-3 рассматривался как 2. Грейд комбинированой вакансии рассматривался по максимуму, например middle/senior -> senior. В итоге было получено 12120 опознанных вакансий. На графике ниже видно, что шаг в миллион вышел относительно удачным.
Результаты
При оценке просто подсчитывалось среднее количество опыта, которое требовали работодатели:
avg = (xp1 + xp2 +xp3 +… + xpn) / nРассматривались только вакансии, в заголовки которых прямо указывалось слово грейда.
Как видно из графика ниже, работодатели вовсе не понижают требования а наоборот, повышают! Причём повышают стабильно и не первый год.
Небольшое послесловие
Моё, особо ценное для каждого, мнение таково: всё логично. Усложняется структура приложений, требуется знать и уметь больше. Естественно, время на обучение тоже увеличивается. Было бы странно, если бы время подготовки разработчика уменьшалось.
Люди, которые именуют себя сеньорами, скорее всего, не ошибаются и не заблуждаются. Дело в том, что года достаточно чтобы в совершенстве овладеть какой-то темой, например языком или базой данных. Но! Чтобы быть действительно опытным разработчиком в своей сфере надо знать кучу связанной информации.
Говоря за свой любимый PHP могу со всей ответственность утверждать: стать гуру реально за год, возможно даже быстрее. Но помимо собственно языка и общей теории есть много других не менее, а возможно и более важных вещей. Фреймворки, SQL, NOSQL, MQ, администрирование… Где остановиться — я не знаю.
Чёткого разделения на грейды на подобии профессиональных разрядов нет. Что должен уметь сеньор и как он должен отличаться от джуниора каждый решает сам для себя. Как сказал на днях один человек в обсуждение этой темы
У каждой конторы свои требования к сениорам. Более того, у каждого человека своё видение того, кто может быть сениором. Так что ничего удивительного. В одну контору ты можешь даже миддлом не проходить, а в другой ты чоткий сениор с замашками архитекта. Всё от хозяина-барина зависит.С каждым годом разработчиков всё больше, и узкоспециализированных в том числе. Они, вероятно, и составляют большую часть «двухгодовалых» сеньоров.
А вообще как тебя называют в компании не важно. Сегодня сеньор, завтра нет, пустяки, дело-то житейское. Главное не придавать большого значения лычкам и не рассматривать их как показатель чего-либо. Особенно как повод переставать тянуться к знаниям.
Я получил массу удовольствия от написания статьи. Стягивание данных и ковырянье в них — одно из моих любимых занятий. Если вдруг кому-то надо дамп для изучения, пишите в личку или комментарии. Мысли выложить код парсера у меня были, но посмотрев на него свежим взглядом я передумал. Такие вещи не принято показывать в приличном обществе.