Кто такие Junior Developer, Middle Developer, Senior Developer?

Have a question? Ask in chat with AI!

Junior Developer, Middle Developer, Senior DeveloperВсе айтишники хотят быть Senior, никто не хочет быть Junior. Джуниор хотят как можно быстрее перейти на следующий уровень в своей карьере. Но часто мы задумываемся, что те рангах значит и когда можно смело назвать себя Senior Developer?

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

Сначала обратим внимание на происхождение самих терминов. Очевидно, что корни растут из района восточного побережья США, и такие статусы — это адаптация под западный рынок. Наш ИТ рынок на 80% состоит из аутсорсних компаний, которые принимают западную терминологию, процессы и тому подобное. Как западные компании видят кто такие Junior, Senior, Middle и требования накладывают мне трудно сказать — для этого надо поработать там и почувствовать ситуацию изнутри. Однако, могу сказать, что это означает для аутсорсных ИТ компаний. По большому счету, это вилка зарплат, на которую может рассчитывать кандидат. И наоборот, если у вас сеньйорская зарплата — значит вы сеньор.

Мечта каждого владельца аутсорсной компании — купить Juniora, платить ему соответствующую зарплату, а продавать его услуги западным заказчикам по цене Senior. Некоторым так удается, и это скорее исключение, чем правило, поскольку по ту сторону океана сидят далеко неглупый люди. Поэтому, возникают определенные ограничения на квалификацию, которую ниже подробнее рассмотрю.

Junior Developer

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

Здесь и пора озвучить парадокс индустрии, ведь в основном компании инвестируют в Middle для своих конкурентов, поскольку морально не готовы через год платить Junior вдвое больше. А компания-конкурент готова платить уже за специалиста уровня Middle, которого значительно легче продать. Таковы реалии — что поделаешь.

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

Middle Developer

Он уже может работать самостоятельно, не требует контроля со стороны старших товарищей — несет ответственность за свой код. Должен уверенно знать базовые технологии, и популярные фреймворки, процессы. Опыт работы от 2-3 лет. В зависимости от проекта уже может вести коммуникации с иностранным заказчиком, поэтому уровень английского приобретает важное значение. В большинстве, Junior могут простить корявый разговорный язык, но здесь такое не прокатит. Как я уже и говорил, уровень мидла предполагает более высокий уровень заработной платы (или, я принято говорить — компенсации) и спрос на таких специалистов уже значительно больше. Еще мало опыта в полноценном проектировании архитектуры системы, и уже достаточно для разработки дизайна подсистем.

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

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

Senior Developer

Это уже специалист который кроме того, что образованный в технологии, фреймворках, процессах и понимает что это такое, но и может воплотить теорию на практике. То есть, соблюдение выполнения архитектурного решения или практики (например code review) и тому подобное. Берет ответственность не только за написанный код, но и за проект в целом. Должен уметь принимать технологические решения и аргументировать его перед командой, менеджером, командой заказчика, заказчиком. Соответственно, уровень английского должен быть upper intermediate.

Для того, чтобы грамотно аргументировать принятое решение, должен быть богатый практический опыт, на практике пройденные успешные и неуспешные кейсы, чтобы понимать к чему в будущем может привести то или иное решение. Опыт — от 5 лет за редким исключением, меньше (широко известная проблема 23х Синьоры — я ее не включаю сюда). Senior является опорой лидера команды по внедрению и реализации технологических решений, процессов, инженерных практик. Говорить о том, что требуется знание технологии + фреймворки не стоит, это и так очевидно!

Рекомендации: на данном этапе развития следует уделять внимание деталям — в них вся суть. Senior знает, зачем выносить в отдельный модуль все интерфейсы и классы модели. Знает чем отличается дизайн и архитектура, знает что такое SOLID. Таких нюансов большое количество и чем больше их знать, тем больше экспертность и тем больше понимания что такое enterprise application вообще.

Далее идут следующие ранги — Architect, Tech Lead, Principal, не имею еще достаточно опыта, чтобы качественно описать нюансы. Все это еще впереди.

Многие считают, что характерно количество технологий и фреймворков. Это далеко не так. Можно быть специалистом по 5-летним опытом со знания широкого стека технологий, и находиться на уровне Junior. Не тот уровень углубление. Если вы внимательно прочитали, то должны были заметить, что для всех уровней развития характерен пункт «знание технологий, фреймворков, процессов». Просто на каждом уровне более глубинное понимание.

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

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

А если вы начинаете делать свои первые шаги в ИТ — приглашаю на учебный курс по Java Core, который совсем скоро начнется, а набор заканчивается завтра. Курсы для начинающих и не требуют предварительной подготовки Java, и предусматривают понимание что такое программирование и базовую компьютерную грамотность. Кроме большого количества практических задач, разъяснение теории предполагается еще очень интересная активность — coding dojo, это соревнование алгоритмов программистов — очень увлекательно! Информация о самом курс, условия участия и регистрация по ссылке http://juja.com.ua/juja-core/

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


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Предыдущая запись Здоровье программистов
Следующая запись Шифрование данных в Интернете