Карьерные траектории программистов прозрачны, но в начале пути неочевидны начинающему специалисту. Какими компетенциями владеют профессионалы в IT в зависимости от уровня подготовки и опыта работы? И чего действительно важно достичь для продвижения по карьерной лестнице? Разбираем в этом лонгриде.
На пути к совершенству кода возраст и опыт — не главное. Они решают далеко не всё. Привычно встретить на позиции джуна выпускника вуза, курсов программирования, а на позиции миддла - 35-летнего опытного специалиста. А вот, чтобы наоборот — дело уже удивительное.
Важно понимать, в сфере IT гораздо важнее возраста и опыта зачастую оказываются личные качества. Например, гибкость, постоянное самообучение и покачивание своих навыков. Останавливаться на достигнутом - не в привычке крутых IT-специалистов.
В чём же тогда различие? В первую очередь, в чистоте и читабельности кода.
Если взглянув на твой код, один говорит «вау», другой наматывает на ус, скорее всего ты — сеньор. Косвенно читаемость кода указывает на опыт автора-разработчика. Лаконично и точно выражать в коде нужную мысль — сильный навык, который приходит с практикой. Код новичка виден невооруженным взглядом, как и код гуру программирования.
Давайте подробно разберём различия уровней подготовки и навыки им соответствующие.
Junior-специалист
Джуны - это начинающие программисты с горящими глазами. Им доверяют проработку простых задач. Начинающие специалисты пишут части кода, которые затем объединяет и встраивает в проект более опытный коллега. Джуны закладывают фундамент, на котором возводится разработка.
Что умеют Junior-специалисты:
- Опыт работы программистом - более 1 года.
- Знает теорию программирования, освоил основные инструменты разработки: основы синтаксиса, структуры данных, функции, файлы, модули, GIT, библиотеки, БД и прочее.
- Понимает, имеет практический опыт код-ревью.
- Способен понять чужой код.
- Подготовка отчётной документации.
- Постоянно работает над ошибками и не повторяет их.
- Способен самостоятельно разработать простой проект.
Middle-специалист
Опытные разработчики способны оценить масштабы проекта. Самостоятельно решают сложные технические и административные задачи. Имеют сильные знания своего стека технологий. На деле миддл ближе к сеньору, не к джуну.
Что умеют Middle-специалисты:
- Опыт разработки коммерческих продуктов - 1-2 лет.
- Глубокое понимание языка программирования, стека технологий компании.
- Знает смежные своему языку программированию технологии, инструменты, быстро осваивает нужные и новые технологии.
- Подготавливает и проводит тестирование.
- Знание основ архитектуры и паттернов.
- Освоил асинхронное и параллельное программирование.
- Ставит задачи команде, оценивает трудоёмкость.
- Способен провести код-ревью.
- Может руководить работой младших коллег как наставник, преподавать на курсах программирования.
Senior-специалист
Великой силой владеет Senior. Сеньором стать не каждому дано. Специалисты наивысшего уровня способны решать задачи, непосильные остальным. Они самостоятельно могут написать масштабный сервис с нуля. Понимают архитектуру разработок и пишут чистый, лаконичный код.
Что умеют Senior-специалисты:
- Сильный специалист, обычно с опытом от 5 лет.
- Опыт длительного ведения и поддержки проекта.
- Способен стать тимлидом. Понимает бизнес-специфику, может настроить рабочие процессы в команде. Контролирует разработку и внедрение проекта. Имеет развитые soft-skills.
- Способен с нуля разработать проект.
- Знания передовых IT-направлений.
- Отлично разбирается в архитектуре проекта и в процессе релиза.
- Отвечает за проект. Соблюдение дедлайнов, планирование работ, распределение задач, работа с командой и подобное. Расчёт и учёт трудоёмкости проекта на код, железо, команду.
В карьерных траекториях вас сориентируют в IT-компаниях HR-специалисты и teamlead команд разработки. Статья даёт вам ориентир, какие навыки прокачать и на что обратить внимание.
Карьерных успехов! А тем, кто готов прокачать себя, советуем перейти в раздел