Карьерный путь программиста в IT компании

В IT компаниях, как и в организациях с мировой славой, применяется карьерная система. Отработав некоторое время в одной нише, по программе развития сотрудника продвигают на более высокий уровень, возлагая на него больше работы, но и прибавляя к заработной плате. Рассмотрим примеры перемещения программистов по должностям в горизонтальной и вертикальной плоскостях. Поговорим об особенностях карьерного роста в пределах одной профессии.
программист должность

Начальные позиции: Стажер и младший разработчик (Junior Developer)

Сразу после трудоустройства новички в IT-компаниях занимают места стажеров. Это начальная точка плодотворного пути, где ему предстоит учиться, набираться опыта и одновременно выполнять несложные задачи. Заработная плата минимальная, обычно начинается от планки 30 тыс. руб., но это временно, обычно не больше 6 месяцев. Через определенный срок работник сдает экзамен и получает повышение, что стимулирует рост дохода. Главная цель стажировки не заставить выполнять монотонные машинные операции, а предоставить знания, теоретические материалы через регулярные практические задания. Важно, чтобы стажер разобрался в специфике и устройстве проектов, методах выполнения. У новичка есть наставник, который выдает задания, помогает в исполнении. Одновременно знакомит с методологиями Agile и Scrum, развивает навыки командной работы над одним проектом.

Во время прохождения стажировки решаются следующие задачи:
  1. Поиск и исправление ошибок в написанном коде.
  2. Изучение систем контроля версий типа Git.
  3. Создание тестов для проверки программ.
  4. Принятие активного участия в стендапах, проводимых каждый день.
  5. Составление документации по тестам, новому софту или иным продуктам компании.
Стажер в должности программиста в компании не сидит без дела, как это бывает на заводах или других предприятиях. Он вливается в коллектив, участвует в проектах, становясь единым целым. Каждому сотруднику назначаются свои определенные задачи, формируя из них звенья одной большой цепи.

Повторная стажировка

Если навыки не были достаточно полно освоены, то возможная повторная стажировка. На этот раз будет применен другой метод предоставления информации и обучения на усмотрения руководителя. Период стажировки – это проверка возможностей, целеустремленности и желания обучаться по выбранной специальности. После сдачи экзамена, прохождения собеседования кандидат направляется в компанию на должность младшего разработчика. С этого момента начинается более продуктивная работа.

Пройдя путь стажера, который длится от 2 до 6 месяцев в зависимости от загруженности компании, вида выполняемых задач, сотрудник переходит в категорию младшего разработчика или Junior. Работник уже получил комплекс базовых знаний, доступ к бесконечной библиотеке и способен выполнять более сложные задачи. С этого времени начинается работа с функциональными возможностями приложений, веб-сайтов или десктопных программ. Младшему сотруднику выделяют первые самостоятельные задания по написанию полноценного рабочего кода.

На новом уровне решаются следующие задачи:
  1. Разработка архитектуры программ.
  2. Самостоятельное написание функциональных модулей, которые могут быть применены в разных проектах.
  3. Создание автоматизированных тестов для проверки.
  4. Разработка инструментов для логирования и контроля.
Навыки Junior:
  • понимание, где и какой лучше использовать язык;
  • знание хотя бы одного фреймворка;
  • умение работать с СУБД и Docker-контейнерами;
  • создание Rest API;
  • знание языков программирования C, C++, Java, JavaScript и др.
должности программистов в компаниях

Средний уровень: Разработчик и старший разработчик (Developer)

После работы на уровне Junior, обычно в течение 2 лет, создаются условия для повышения квалификации и перехода на категорию Middle. Это полноценный разработчик с опытом, пусть и небольшим, способный выполнять средние по тяжести задачи и самостоятельно писать функциональный код. Ему отдается голос при принятии решения по архитектуре приложений. Участвует в командной работе, отвечая за важные моменты. На этом уровне ему доверяют более сложные задачи. Например, самостоятельная разработка сложных функций, создание архитектуры программ, работает наставником для стажеров и младших разработчиков, работа с CI/CD процессами и консультация новых работников.

В обязанности Middle-разработчиков входит:
  • знание методов защиты ПО;
  • проведение модульного тестирования;
  • паттерны проектирования;
  • внедрение и написание API;
  • четкое знание этапов жизненного цикла разработки приложений;
  • ООП и все распространенные языки;
  • знание асинхронных методов передачи данных.
Очередная должность в программировании после – старший разработчик. Это тот же Middle, но более продвинутый. Он способен самостоятельно реализовать сложные проекты, принимать важные решения и распределять работу по группам программистов в команде для достижения общей цели. В его задачи входит управление командой, поиск решений в сложных задачах, занимает ключевое место в стратегическом планировании, проводит код-ревью с соблюдением обязательных требований и сотрудничает с заказчиками.

Продвинутый уровень: Ведущий разработчик и архитектор (Senior Developer)

Следующий уровень в карьерной лестнице программиста – ведущий разработчик. Он же архитектор или Senior Developer. В этой категории он выполняет функции руководителя технического отдела, распределяя обязанности между командами, работающими над одним проектом. В его обязанности также входит:

  • организация технических встреч с персоналом;
  • разработка собственных стандартов написания кода;
  • управление и контроль за работой команды;
  • проверка кода и вынесение резюме.
Senior Developer знает, каким должен быть конечный продукт, на основе чего он разрабатывает план действий и распределяет обязанности между сотрудниками. Управляет всеми командами в коллективе, планирует их работу и организует проверки навыков для продвижения сотрудников по карьере. Самостоятельно разрабатывает сервисы и приложения любой тематики и с применением современных технологий. Ему под силу задачи любого уровня сложности. Является связующим звеном между руководством и командами исполнителей. Сеньор должен знать:

  • несколько языков программирования;
  • все популярные библиотеки и фреймворки;
  • работу и организацию DevOps-циклов;
  • Docker, Kubernetes и Sentry;
  • профессиональный английский;
  • методы выполнения экспертизы в сопряженных отраслях.
Senior больше работает с персоналом и заказчиками. На это отводится до 50% его общего рабочего времени. Непосредственно с кодом взаимодействует не более 30%, а 20% отнимает работа с планированием и развитием бизнеса. Эксперт должен обладать такими дополнительными навыками, как умение находить выход из сложной неопределенной ситуации, управление младшим персоналом, правильно объяснять выбранные решения и убеждать в правильности их выбора, а так же быстро перестраиваться между проектами и людьми.

Перед сеньором открывается три пути. После прохождения определенного цикла получает возможность перейти в категорию Team Lead, Архитектора программного обеспечения и Технического эксперта. Средний уровень заработной платы такого работника составляет 330-340 тыс. руб. В некоторых случаях и в зависимости от масштабов компании заработок увеличивается до 500 и 800 тыс. руб.
должности в программировании

Руководитель отдела разработки (Team Leader)

Для стабильной работы любой IT-компании требуется лидер. Это уже не должность разработчика. Это успешный руководитель, который занимается планированием и четкой организацией работы команды программистов. Он создает план, ставит задачи и контролирует конечные результаты выполненной работы. Для стимуляции скорого исполнения проектов применяет разные способы мотивации премированием, организацией мероприятий, дополнительных дней отдыха. Под управлением тимлида находится группа из 10-12 человек. Как квалифицированный руководитель, этот сотрудник обязан:

  • Правильно выбирать цели компании и совмещать с интересами команды.
  • Качественно работа выполняется заинтересованными сотрудниками. Нельзя заставить человека сделать то, что он не хочет выполнять даже за большие деньги.
  • Также он планирует работу всего отдела, расставляя обязанности между группами, определяя приоритеты и организует работу.

Для работы Team Lead необходимо:

  • отработать разработчиком не менее 3 лет и тимлидом 1 год.
  • быть коммуникабельным и убедительным;
  • иметь знания в принципах управления проектами;
  • знать Битрикс24 и всесторонне взаимодействовать с данным сервисом;
  • PHP7+, CSS3, MySQL, JavaScript, HTML5, Git для управления версиями;
  • уметь работать с высоконагруженными системами и применять на практике современные методы внедрения кода.
Не существует единых требований, по которым разработчик становится тимлидом. Занять должность руководителя можно по динамике развития различных групп навыков. Например, одни лучше проявляются себя в управлении персоналом, а другие ближе к технической реализации проектов. Для успешной компании важно найти такого сотрудника, который будет полностью выполнять требования и слаженно организовывать работу по всем специальностям программистов в списке компании.

Менеджер проекта (Project Manager)

Project Manager – это руководящая должность, в рамках которой сотрудник управляет работой команды и контролирует выполнение проекта. В его обязанности входит составление графиков дедлайнов и сбор команды для выполнения поставленных перед компанией задач, но при этом он не является непосредственным руководителем. Сотрудник отвечает за выполнение проектов, но конкретный состав обязанностей зависит от того, в какой организации он работает. В базовый перечень его функций входит:

  1. Планирование задач путем разделения одной большой цели на промежуточные. Рассчитывает затраты времени и средств для реализации этапа.
  2. Сбор и подготовка группы разработчиков. Выбирает подходящих по опыту и навыкам сотрудников под конкретные задачи или промежуточные этапы.
  3. Контролирует сроки исполнения поставленных задач и следит за расходованием бюджета. Регулирует затраты в соответствии с выполняемыми функциями сотрудников.
  4. Организует коммуникацию с заказчиками и исполнителями для детального понимания сути выполняемых задач.
  5. Поиск решения из нестандартных ситуаций с безвыходным положением.
  6. Формирование отчетных документов для предоставления руководителям и заказчикам, которые платят за реализацию данного проекта.

Заключение

Узнать, какие бывают программисты по виду деятельности и выбрать нужный персонал для реализации проектов вы можете на сайте компании «Волна». Наше аутстафф агентство работает по трудовым договорам с 9000 опытных программистов. Также есть квалифицированные руководители, проект менеджеры, тимлиды и старшие разработчики. Гарантируем высокую квалификацию и подготовку для реализации проектов любого уровня сложности. Арендовать специалистов можно на час или на месяц с почасовой оплатой. Работать они будут в офисе заказчика или дистанционного.

Другие материалы блога

Давайте усилим вашу команду опытными IT-специалистами
Расскажите кто вам требуется и мы направим наших кандидатов в течение 24 часов