Команда РаботавРоссии.РФ основательно взялась за задачу разобраться с направлениями в IT – с содержанием задач, статусом специалистов на рынке труда (их востребованностью, уровнем конкуренции и зарплат). Да, вся эта информация есть в интернете, если поискать. Мы решили собрать мнения, актуальные на сегодня, в одной серии статей, чтобы искать не было необходимости.
Среди экспертов, которые откликнулись на наш запрос – рассказать о профессиях в IT – Илья Габрусь, руководитель направления проектов развития бизнеса Центра разработки Ctrl2GO. Как истинный руководитель и аналитик, он разложил процесс разработки по полочкам и рассказал о специализациях в IT в контексте работы над созданием продукта. Эта информация будет полезна не только для людей, которые задумываются над получением профессии в IT, но и для руководителей проектов, а также для представителей компаний, которые планируют поиск команды для создания IT-продукта.
Вопросы, на которые отвечает статья:
- Из каких этапов состоит процесс разработки? Какие специалисты участвуют в каждом этапе, кто играет ключевую роль?
- Как формируется команда, которая будет работать над созданием продукта в IT? Как ее масштабировать, когда заказов становится больше?
- Какие IT-компании становятся лидерами на рынке труда?
Из каких этапов состоит процесс разработки, компетенции специалистов
20-30 лет назад распределения по направлениям не было. Думаю, тогда и был сформирован лозунг «все IT-шники – программисты», так как в трудовые книжки вписывали должность «программист-разработчик». Во многом это было связано с тем, что культура программирования только развивалась и формировался тренд отрасли.
Теперь давайте рассмотрим текущее распределение направлений с увязкой к этапам разработки:
Аналитик – занимается описанием и постановкой задач для разработчика, связующее звено между клиентом и разработчиком:
- бизнес-аналитик – анализирует и глубоко понимает бизнес-процессы Заказчика;
- системный аналитик – систематизирует данные и ТЗ для разработчика;
- технические писатели – документируют в рамках процессов разработки, готовят руководства пользователя и администратора, чтобы донести механизм работы.
Data Scientist – исследует и структурирует большие массивы разрозненных данных:
- инженер техподдержки – помогает клиенту решить проблемы в период передачи заказного решения;
- математик – разрабатывает новые алгоритмы поведения системы с применением теории вероятности.
Архитектор – проектирует архитектурные решения:
- системный архитектор – управляет сложными компьютерными системами и сетями по требованиям заказчика.
- DevOps – обеспечивает запуск в производство и функционирование разработки как для разработчиков, так и для пользователей.
Разработчик – пишет код:
- backend-разработчик – реализует серверную часть кода разработки;
- frontend-разработчик – разрабатывает веб-интерфейс серверной части;
- mobile-разработчик – пишет код для операционных систем мобильных устройств;
- графические программисты – создают сложные изображения в играх, фильмах и других медиа продуктах;
- AR/VR-разработчик – реализует решения виртуальной и дополненной реальности, заранее смоделированные в объектных типах;
- ML-разработчик – работает над машинным обучением с помощью специальных наборов данных и алгоритмов.
Дизайнер – отвечает за удобство продукта и его привлекательный внешний вид:
- UX-дизайнер – разрабатывает пользовательский интерфейс решений;
- UI-дизайнер – отрисовывает интерфейс на основе UX-данных и реализует физические характеристики продукта;
- 3D-дизайнер – создает реалистичные объекты в виртуальном пространстве с максимальной достоверностью.
Тестировщик – отвечает за разработку тестовых ситуаций и проектирование тестовых сценариев:
- автотестировщик – разрабатывает программы для автоматического тестирования основных блоков разработки;
- ручной тестировщик – выполняет ручное прокликивание функций.
Инженеры по эксплуатации – 3-я линия поддержки разработанных заказных решений.
Системные администраторы – поддерживают работоспособность hard-части («железа»).
Специалист по информационной безопасности – отвечает за сохранность данных и устранением угроз или нападений.
Руководитель проекта – дирижирует командой для соблюдения срока, бюджета и качества заказной разработки.
Каждый специалист имеет свой грейд в соответствии с базовым распределением (практически все компании базово оперируют этой структурой):
- lead – опыт работы от 6 лет;
- senior – опыт работы от 4 лет;
- middle – опыт работы от 3 до 5 лет;
- junior – опыт работы от 1 до 2 лет;
- intern – без опыта работы.
Как формируется команда, как ее масштабировать
На первом этапе реализации проекта формируется команда, структура которой практически идентична от проекта к проекту. На всех этапах разработки работает группа сопровождения: HR, аккаунт и ресурсный менеджеры, которые обеспечивают процесс операционного функционирования с блоками компании.
При увеличении количества проектов у одного заказчика формируется отдельная матричная ветка в структуре Центра разработки . Она обеспечивает оптимальное распределение ресурсов ядра команды. Ядро – те специалисты, которые обладают экспертными данными в своем направлении.
Какие IT-компании становятся лидерами на рынке труда
Преимуществом обладают те компании, которым удалось реализовать на своей стороне систему с непрерывным процессом найма, подготовки, ротации и удержания junior-специалистов на всех этапов карьерного развития. Люди, которые прошли за 3-5 лет все этапы внутри компании, которые понимают, как работают процессы, поднимают компанию все выше по лестнице бизнес-успеха – именно они позволяют инвестировать деньги в развитие специалистов вместо того, чтобы тратить их на найм.
Советы руководителям IT-компаний и подразделений, которые занимаются разработкой
- Чётко описывайте структуру управления и группируйте вакансии. Это помогает вести базу кандидатов и получать быстрые результаты, когда нужно закрыть вакансии.
- Выстраивайте работу с кадровыми агрегаторами. Сборка команд ускорится. Полезно также мониторить рынок зарплат, чтобы разработка не обходилась неоправданно дорого.
- Развивайте кадровый резерв. Это самый сложный и затратный формат, но он принесет в будущем наибольшие эффекты при масштабировании бизнеса.
- Формируйте HR-бренд. Это снизит затраты на прямой найм и повысит лояльность к компании.
- Группируйте и проводите ротацию сотрудников по принципу Парето (20% ядро и 80% сопутствующая группа). Это позволит сотрудникам всегда быть мотивированными и понимать цель работы.