Как говорил Мартин Фаулер, написать код, понятный компьютеру, может каждый дурак. «Хороший программист пишет код, понятный человеку».
В сфере IT устоялось деление на «джунов», «мидлов» и «сеньоров». И если разработчикам это деление понятно, то для большинства людей, которые никак не связаны с программированием, это деление остается непонятным. В этой статье мы попробуем разобрать кто есть кто и кто за что отвечает.
Возраст и опыт
Человек, который практически не знаком с IT, может решить, что «сеньор» — это программист, отдавший работе много лет. А «мидл» и «джун» работают меньше, поэтому и компетенций у них меньше (и зарплата). Но это утверждение верно только наполовину.
В первую очередь все зависит от компетенций человека. В IT часто бывает так, что позицию «джуна» занимает уже достаточно взрослый человек, а вот «сеньор» — это вчерашний студент.
В чем различие?
Один из главных способов понять, кто есть кто — это посмотреть на исходный код. Если код программы очень легко читается другими разработчиками, у него понятная архитектура и логика — это работа «сеньора». А если код причудлив, содержит сложные абстракции и странные однострочники — над ним наверняка работал «джун».
Senior обычно заботится о простоте кода, чтобы его могли легко освоить коллеги, а поддержка была простой. Джунам для этого не хватает опыта, как правило их код можно описать фразой «Если работает, то всё отлично». Обычно код, написанный «сеньором» порождает один вопрос: «Как такая сложная программа так просто написана?».
Разница только в коде?
Нет. Есть и другие различия между рангами.
«Джуниоры» в большинстве своем работают с простыми задачами. Например, над частью проекта, которая потом соединяется с другой частью. Джуны собирают фундамент, по кирпичикам, который послужит основанием для всей программы. При этом чаще всего джуны даже не представляют себе масштабы, к которым они прикладывают руку. Хороший джун может самостоятельно работать над своими задачами. Главное для него, чтобы код нормально функционировал при встраивании в приложение или сервис.
Мидлами становятся джуны, которые набрались опыта, повысили компетенции и научились чисто выполнять свои задачи. Мидлы осознают масштабы проекта, но тоже разрабатывают только его части, хотя и более крупные. Мидлы способны самостоятельно выполнять сложные задачи. Не только технические, но и административные. Мидл должен понимать, как устроен бизнес, и уметь реализовать все это на практике. Мидл понимает функции и структуру проекта, поэтому его решения эффективны.
Ранг сеньора доступен не каждому. Нередко бывает, что разработчик остается на уровне мидла всю свою карьеру. Чтобы стать сеньором необходимы тонкие компетенции, которые помогают решать неразрешимые задачи. Сеньор знает и умеет больше, чем все его коллеги. Не только написать хороший код, но и учесть в нем инструментарий и специфику компании. Сеньорам под силу разработать приложение с нуля — они как никто понимают архитектуру. Кроме того, сеньоры имеют управленческий опыт, чтобы убедительно доносить информацию до команды и руководства, а после — реализовывать идею. Чаще всего именно сеньоры становятся наставниками джунов, помогая им развиваться и правильно работать. Сеньоры понимают устройство библиотек, фреймворков, инструментов.
А что по зарплате?
Зарплата у джунов, мидлов и сеньоров разнится. В среднем джуниор получает от 50 до 60 тысяч рублей. Мидлы — от 120 до 150 тысяч рублей, а сеньоры от 190 до 220 тысяч рублей. Уровень зарплаты напрямую зависит от компетенций и способностей разработчика.
Где можно начать?
В Новосибирском Научно-техническом Центре работают как джуны и мидлы, так и сеньоры. Главная их задача — разрабатывать программное обеспечение для нефтегазовой отрасли. Если вы хотите построить карьеру в IT — переходите по ссылке.