Код успеха: как из Junior стать Senior разработчиком
Java, Python, PHP, C#, С, JavaScript, Web разработка и графический дизайн, разработка баз данных, распределенных приложений, программная инженерия, UI разработка, защита информации и, в конце концов, хороший уровень английского - далеко не полный список компетенций современного программиста. При этом количественный и качественный набор специфических навыков и знаний конкретного айтишника упаковывается в определенные ранги. От того, какая у вас квалификация, junior, middle или senior, зависит не только уровень оплаты ваших услуг, но и ценность вашей компании на рынке.
LIGA.net попыталась разобраться в нюансах трудоустройства и карьерного роста в IT-сфере, а также выяснила некоторые секреты уже состоявшихся айтишников.
Junior, middle или senior. Ваш вариант?
Градация IT-испециалистов, которую чаще всего используют и на которую ориентируются работодатели, выглядит следующим образом. Junior - это начинающий разработчик с реальным опытом работы от 0,5 до 1,5 года, нуждается в постоянном контроле и помощи со стороны старших по рангу коллег, но может самостоятельно решать несложные задачи.
Middle-специалист обладает опытом работы от 1 до 3 лет. Это практически самостоятельный разработчик с необходимыми базовыми знаниями программирования, за которым практически не нужно исправлять код.
Senior - эксперт программного кода, работающий в сфере от четырех лет.
Читайте также - Четыре сигнала о том, что вам пора бежать из компании
В топовых компаниях встречаются уровни программистов выше senior - эксперты и архитекторы. Это профессиональные разработчики с большим опытом работы, которые могут принимать глобальные и концептуальные решения по конкретному проекту. Эксперты - специалисты, которых приглашают в проект для решения специфических задач или проведения комплексного технического аудита.
Сколько стоит написать код
Профессиональные знания и навыки обеспечивают не только переход от ранга к рангу, но и увеличение оплаты. На нынешнем разношерстном и перенасыщенном рынке, увы, нет четкой градации, кто и сколько зарабатывает. Но можно говорить о тенденциях. "Если это аутсорсинговая компания, то джун может получать от $400 до $800, senior - $2500-3000. Иногда гонорары зависят от бюджета проекта. Когда выстреливает, есть хорошие бонусы", - рассказывает соучредитель Pro-Recruiting Studio Екатерина Лобарева.
Middle-специалист стоит на рынке в среднем от $2000 до $2700, а senior - $3000-4000 плюс налоги и договоренности об оплате с клиентом, отмечает HR-специалист одной из украинских IT-компании.
Зачем компаниям-разработчикам джуны, если от квалификации персонала зависит не только их доход, но и ценности на рынке IT-услуг? Для проектов часто нужны люди, которые будут делать простейшие задачи.К тому же большинство компаний заинтересованы в росте своих инженеров и не жалеют денег на их развитие.
Фото - iStock/Global Images Ukraine
"На украинском IT-рынке постоянный дефицит опытных программистов. Крупные компании-игроки концентрируют усилия и ресурсы на профессиональном развитии и обучении своих сотрудников", - отмечает HR-специалист компании SoftServe Орест Олексовський. В самой компании для таких целей создали подразделение HR Business Partnership, в котором работают карьерные советники и помогают новому сотруднику влиться в рабочую среду.
Если вы заинтересованы в услугах разработчиков, стоит проявлять осторожность. Многие аутсорсинговые компании искусственно поднимают ярлык инженерам позиции синьор, чтобы продать подороже команду зарубежным клиентам, говорит один из собеседников LIGA.net.
Читайте также - Неподдельный интерес: как стать лидером в эпоху перемен
Научить - полдела, как потом удержать персонал? Для этого компании используют целый арсенал материальных и нематериальных стимулов: ротация в более интересный проект, бонусы, индивидуальный график работы.
Дорога к уровню senior
Бывают случаи, когда программист с опытом работы более четырех лет не дотягивает даже до миддл-уровня. Причина может быть не только в его нежелании развиваться, но и в задачах, которые компания ставит перед разработчиками. Этот момент обязательно стоит учитывать при переходе. Новое место работы может требовать навыков, которых у вас попросту не будет. А на "переучиться" нужно время и не факт, что его дадут.
LIGA.net расспросила действующих айтишников и эйчаров IT-компаний, как не упустить драгоценное время и эволюционировать в Senior-разработчика.
Сергей Ложечников, веб-разработчик (principal или senior) в open source компании Astound Commerce
Если говорить о моей области разработки, я могу выделить несколько ключевых моментов. Понятия junior и senior разработчик достаточно субъективны, но я их определяю следующим образом: junior методом проб и ошибок может написать код, который работает. senior понимает, почему код работает, при этом, умеет писать код, который еще и хорошо выглядит. По моей субъективной оценке, переход от junior к senior в среднем занимает 2-3 года.
Но для того что бы перейти от одного ранга к другому обязательно нужно учиться. Сделать обучение эффективней помогут несколько шагов.
Критическое мышление. Если вам говорят, что "фреймворк/библиотека/шаблон проектирования хорош/применим в конкретной ситуации потому, что так кто-то сказал, и его используют много людей", вы в праве требовать дополнительных аргументов. Критическое мышление нужно применять не только к новым концептам, но и к тому, что вы уже знаете и любите. Пытайтесь не поддаваться "синдрому утенка".
Работа над ошибками. Если найденное вами решение не сработало, недостаточно просто запомнить этот факт, нужно подумать о том, как вы нашли это решение как его можно улучшить.
Забудьте утверждения "работает, значит лучше не трогать" или "это магия". Если нечто работает, но вы не знаете, что будет, если изменить определенный параметр, вам нужно либо разобраться, как именно оно работает, либо переделать.
Читайте также - Подводные камни IT-рекрутинга
Soft skills. Решение более ответственных задач затрагивает большее количество людей. Коммуникации - прежде всего. Вы должны уметь доступно объяснить свои решения на словах, в виде документации или презентации.
Английский. Даже если вы работаете на внутреннего клиента, в процессе обучения вам придется сталкиваться с англоязчными статьями/докладами.
Можно застрять, например, на миддл позиции. Причин может быть несколько. Первая - компании не нужен разработчик такого уровня, на который вы претендуете. Решение - развиваемся, меняем компанию. Вторая - вам неинтересно обучатся. Это не проблема. Люди разные. Нам не может нравиться одно и то же. А миддл позиция позволяет зарабатывать и иметь свободное время на развитие в той области, в которой пожелаете.
Фото - iStock/Global Images Ukraine
Орест Олексовський, senior organizational excellence manager в SoftServe
В нашей компании разработана четкая карьерная карта для сотрудников, определены необходимые компетенции и навыки для перехода на более высокий профессиональный уровень. Также в компании внедрена концепция Abiliton. Это система сертификации, которая требует не только теоретических знаний, но и практических навыков, опыта работы, соответствующего уровня владения английским языком и внешней сертификации.
Читайте также - Место под солнцем. Семь графиков о ситуации на рынке труда
Для каждого квалификационного Abiliton-уровня (junior, intermediate, senior) существуют свои требования. Например, чтобы получить должность senior, у сотрудника должен быть опыт работы от трех лет, уровень владения английским Intermediate Strong, внешняя сертификация в соответствии с технологией и опыт проведения презентаций. Во время регулярной оценки эффективности работы, каждый сотрудник получает объективные отзывы о своей текущей деятельности: определяются следующие шаги для совершенствования коммуникативных, организаторских и общих технических навыков.
Игорь Трайдакало, software engineering, middle-разработчик в компании EPAM Systems
Для того, чтобы с junior перерасти в senior в среднем нужно около пяти лет. Рост зависит не только от проекта, над которым работает человек, но и от задач, которые он выполняет. При росте от middle к senior важно самообучение, так как человек, в большинстве случаев использует специфический набор технологий в работе над проектом.
Кроме того, у каждого из разработчиков своя цель. Кому-то может быть достаточно задач и денег, например, на middle-позиции. Но в большинстве случаев основной путь развития - junior> middle> senior. Дальше выбор направления - в техническую сторону или больше в сторону менеджмента. Обычно, с ростом к senior-позиции нет проблем, если человек над этим работает.
Читайте также - Какого соискателя я никогда не найму в IT-компанию
Главная проблема которая может возникнуть при переходе, - это плохой проект (однотипные задачи, старые технологии, отсутствие code-review). В таком случае, специалисту нужно больше времени уделять саморазвитию. Часто бывают случаи, когда человек достиг своей зоны комфорта. Ему так удобнее и дальше не особо хочется развиваться.
Главное в карьерном росте программиста - не стесняться менять проект, если он не развивает ваши навыки, уделять внимание самообучению. Ну и самое главное - писать код и не забывать получать фидбэк от более опытных коллег.
Павел Никитюк, фрилансер
Я не могу точно сказать, сколько нужно времени для того, чтобы из Junior стать Senior. Это очень индивидуально. Как в компаниях (у каждой своя градация уровней специалистов), так и у самих девелоперов. Многие часто меняют стек технологий в поисках чего-то нового, поэтому постоянно находятся где-то на уровне middle. А некоторые разработчики просто стесняются просить повышения. В компаниях, где процесс ранжирования более или менее отлажен, среднего уровня айтишник может получить опыт и знания, эквивалентные сеньору за 3-4 года.
При этом, рост - индивидуальное желание каждого программиста. Для кого-то главное, чтобы были интересные задачи и платили более менее нормальный гонорар. Но есть и типичные карьеристы.
Читайте также - HR-директор 1+1: Эра трудоголизма постепенно уходит
Самое важное - на рост очень влияют такие факторы, как проактивность и желание развиваться в одном направлении. Такие специалисты достигают уровня Senior в 100% случаев и делают это быстрее других. Наибольшие проблемы, с которыми сталкиваются разработчики при росте из ранга в ранг, вызывает неправильный процесс развития персонала (или его отсутствие) в компаниях и неграмотный менеджмент.
Подписывайтесь на аккаунт LIGA.net в Twitter, Facebook и Google+: в одной ленте - все, что стоит знать о политике, экономике, бизнесе и финансах.