- PVSM.RU - https://www.pvsm.ru -
Долгое время работая в разных сферах ИТ, мы с исследовательской командой наблюдали все возможные проблемы становления разработчиков и все причины-следствия их дефицита. Нас интересовало: почему программист развивается в senior-специалиста так долго или вовсе им не становится? Откуда неоправданные ожидания с обеих сторон? И главное — что делать разработчику на каждом уровне, чтобы войти в привилегированную касту senior-ов, архитекторов, тимлидов и руководителей?
Мы провели обширное исследование среди программистов и их руководителей. Собрали требования к senior-разработчикам топовых компаний, возможности и пути к развитию до этого уровня, сгенерировали всевозможные инсайты и лайфхаки и трансформировали их в данную статью. Об всем этом и пойдет дальше речь.

Анализ описания вакансий на hh и требований, которыми поделились руководители в очных беседах, показал — единого подхода к определению уровня senior нет. В одной компании это тот, кто способен сам спроектировать сложный модуль, в другой — подключиться к доработке отдельных решений, в третьей — тот, кто просто круче остальных. Внутри самих компаний требования также существенно отличаются у руководителей, тимлидов, HR и самих программистов.
В результате разработчики получают ряд проблем: без адекватного определения требований нет четкого видения карьерного пути и шагов развития. Вопросы: “Какой уровень у меня сейчас? Зарабатываю ли соразмерно ему? Много ли мне нужно апгрейдить до следующей ступени?” — мы слышим повсеместно.
Вместо планомерного развития приходится решать стандартные задачи, ждать внимания руководства, осваивать фреймворки, не понимая, продвинут ли они карьеру вперед. Советуем: при входе в компанию или прямо сейчас — узнавайте о требованиях не только к текущему уровню, но и к максимально высокому. Так вы получите перспективное видение развития и можете соотносить с ним каждый шаг.

Ваше развитие зависит от того, на каком этапе вы сейчас. Но как это оценить? Это вторая проблема.
Из проведенных опросов были получены несколько инсайтов: 70% программистов уровней junior-middle пытаются оценить себя самостоятельно. Парадокс: чем ниже уровень оцениваемого, тем больше он оперирует собственными представлениями.
На начальных этапах отсутствует глубина знаний и широта кругозора — картина весьма ограничена. И такая оценка завышает представление о своем уровне в 86% случаев.
Рекомендуем: как можно раньше переключайтесь от “внутренних” способов оценки (собственное мнение, опыт) на “внешние” — сами запрашивайте фидбэк от руководителя, атакуйте наиболее опытных коллег, сравнивайте задачи и способы их решения, ходите на собеседования в топовые компании, где уровень требований выше и тестовая база лучше и т.д. Оценку руководителя обязательно нужно объективизировать результатами из альтернативных источников, чтобы не попадаться в ловушку ограничений текущих возможностей и требований компании/отдела/проекта.
Но есть путь короче. Мы сами сформировали список требований топовых компаний для senior-специалистов. И обнаружили серьезный лаг, который образуется между уровнями middle и senior.

Мы собрали требования и обнаружили, что не только хороший код превращает junior-специалиста в middl-а. На уровне junior программист должен освоить все необходимые технологии и способность в принципе решать типовые задачи, научиться писать код грамотно и быстро. На уровне middle-разработчика уже обязательны культура кода, способность мыслить глубже и шире, реализовывать более крупные задачи самостоятельно и уметь применять различные инструменты разработки.
Различие между middle и senior существенно тоньше. Именно здесь у разработчиков образуется лаг, преодолеть который самостоятельно под силу не всем. Это целый ряд навыков и личностных качеств, которые подразумеваются, но о которых никто не говорит четко: ответственность за большую часть разрабатываемой системы, менторство, способность самостоятельно формулировать и предлагать оптимальные технические решения, коммуникативные навыки и т.д.
Итак, кто же такой super-Senior? Чтобы формализовать требования, нам пришлось пройтись по максимуму и собрать воедино все, что предъявляют компании уровня Яндекс, Luxoft, Mail.Ru Group и даже Google в открытых источниках. А также верифицировали эту информацию в беседах с руководителями разработки именитых компаний.
Hard Skills
1. Чистота кода;
2. Верхнеуровневые Hard Skills:
Soft Skills и профессиональный кругозор
Те самые загадочные требования, отчаянно недооцениваемые самими программистами. Зачастую в компании руководство и HR оперируют понятием “командности” и “ответственности”, но никак не формализуют ни их критерии, ни их проявления в жизни. Как следствие — 90% разработчиков не упоминали эти аспекты как важные для развития.
Идею проверить себя на владение всеми перечисленными блоками нам подарила тотальная скудность инструментов оценки чего-либо, кроме уровня владения языками на российском рынке. Для нужд нашего исследовательского проекта мы составили пробную версию теста для 3х языков, которая помогает быстро сориентироваться в текущем уровне, а также освещает сильные и слабые стороны:
Подводя итог, оценивать себя адекватно с использованием максимального количества внешних ресурсов крайне важно. Дабы избежать классической проблемы на рынке труда — “ожидания разработчиков vs. реальность компаний.” Когда разработчики оценивают свои навыки и их стоимость выше, чем это готовы делать компании. А также надеются на быстрый взлет и развитие, чего в такой мере не происходит (подробнее — в следующей статье).
Автор: TimeLab
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/issledovanie/299825
Ссылки в тексте:
[1] Java: https://ru.surveymonkey.com/r/2FSMG8J
[2] PHP: https://ru.surveymonkey.com/r/2NQPPM2
[3] JavaScript : https://ru.surveymonkey.com/r/2XJNQBQ
[4] Источник: https://habr.com/post/430576/?utm_campaign=430576
Нажмите здесь для печати.