Всем привет! Меня зовут Егор Сизов, я руковожу группой инженеров внедрения по направлению Управление качеством в ГК «Цифра». Я прошел путь инженера внедрения от стажера до тимлида и теперь готов поделиться опытом, рассказать о специфике роли инженера внедрения в IT, про необходимые компетенции, а также ключевые аспекты профессионального развития.

Статья будет полезна HR-ам, нанимающим менеджерам в компаниях-интеграторах IT-продуктов, а также специалистам, которые хотят стать инженерами внедрения или уже работают на данной должности.

Ниже в статье я рассматриваю набор компетенций и задач инженера внедрения на примере моего бизнес-юнита в «Цифре». Адаптировав компетенции под ваш внедряемый продукт и технологический стек, а задачи — под вашу матрицу ответственности и должностные инструкции, вы сможете применить изложенные мной принципы в своей компании и подразделении (надеюсь на это).

Как войти?

Выражение «Войти в IT» уже набило оскомину, однако этот запрос на рынке труда остается актуальным и сегодня.

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

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

Разработка vs Бизнес: Предметная область
Разработка vs Бизнес: Предметная область

Во-вторых, инженер внедрения получает понимание и базовые навыки бизнес-анализа, архитектуры, проектирования, DevOps, управления проектами и разработки ПО. Это позволяет сделать выбор развития в сторону смежной профессии и начать путь в ней с хорошей стартовой точки.

Конкуренция на уровнях junior и middle на рынке труда ниже, чем у аналитиков, системных инженеров и руководителей проектов. А с уровня senior инженер внедрения становится штучным и дефицитным кадром за счет сочетания высокого уровня владения несколькими смежными специальностями.

Кто такой инженер внедрения?

За три года работы инженером внедрения я часто объяснял людям из IT, да и не только IT, кто такой инженер внедрения и в чем заключается его работа. Каждый раз было сложно сформулировать, но мой рассказ постоянно содержал два основных тезиса: широкий круг задач и связующая роль инженера внедрения в проектах. Сегодня я сформулировал определение инженера внедрения в трех предложениях.

Инженер внедрения специалист, который создает проектное решение для управления производством конечными пользователями. Для этого он не только конфигурирует функционал внедряемой IT-системы и разрабатывает кастомные решения, но и, что не менее важно, выступает проводником (переводчиком) между Заказчиком, Разработкой и другими ролями в команде проекта внедрения. Выполнение этих задач инженером внедрения обеспечивает достижение заявленных целей и эффектов проекта внедрения.

Какие задачи у инженера внедрения?

С организационной точки зрения инженер внедрения находится между разработкой, которая работает над продуктом по agile с планированием новых функций по спринтам, и бизнесом, который живет, как правило, в модели cascade с годовым финансированием и актированием, а также фиксированными сроками этапов проекта внедрения.

Разработка vs Бизнес: Планирование
Разработка vs Бизнес: Планирование

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

Взаимосвязи инженера внедрения
Взаимосвязи инженера внедрения

- Во внедряемой системе инженер конфигурирует реализованный в продукте функционал и разрабатывает проектные решения, которые не заложены в возможностях продукта (как правило, интеграции со смежными системами).

- В ходе конфигурирования системы инженер внедрения сталкивается с багами в продукте, по которым он взаимодействует уже с разработкой. Инженер внедрения не только оформляет баг в виде заявки в техническую поддержку, но и сопровождает заявку в ходе её жизненного цикла: предоставляет дополнительную информацию специалистам поддержки и разработчикам, а после выхода баг фикса принимает устранение проблемы. Также разработка при реализации доработок или изменений текущей реализации функционала обращается к инженеру внедрения за информацией о специфике использования продукта, его конфигурации или данных на конкретном проекте, которая может приводить к отличному от полигонов разработки поведению системы.

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

- Инженер внедрения предоставляет бизнес-аналитику оформленное в виде пользовательской истории функциональное требование к продукту для тех бизнес-требований заказчика, которые не могут быть реализованы в текущем функционале продукта. Бизнес-аналитик, в свою очередь, работает с этим функциональным требованием для постановки доработки  и последующего сопровождения на всем протяжении её жизненного цикла.

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

- Инженер внедрения определяет на основе необходимого функционала набор, версии и конфигурации микросервисов, которые должен развернуть и поддерживать системный инженер. При отладке системы инженер внедрения локализует возникшие проблемы с её работоспособностью до уровня конкретного микросервиса, конфигурацию которого требуется изменить системному инженеру для решения проблемы.

- Инженер внедрения предоставляет фактические конфигурации и проектные разработки проектировщику для разработки им технической документации проекта, а также консультирует по техническим вопросам устройства и работы внедряемой системы.

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

Таким образом, инженер внедрения является центральным узлом взаимодействий в проекте внедрения.

Какие нужны компетенции?

Исходя из роли и задач инженера внедрения можно выделить следующие компетенции, которые ему необходимы.

Область компетенций

Группа навыков

Навыки, технологии и инструменты

Продукты

Внедряемый продукт

Знание и опыт конфигурирования внедряемого продукта

Прикладные навыки

Отладка микросервисов

Знание и опыт работы с запросами,  и соответствующими IDLE: RestAPI, grpcAPI, graphQL, SQL.

Понимание и опыт  анализа консоли разработчика браузера и логов микросервисов

Чтение и понимание технической документации продукта: README, CHANGELOG, руководство администратора, исходный код

Управление жизненным циклом заявки на баг ПО

Open Source сервисы

Навыки администрирования и работы с open source сервисами, например:
identity-провайдер Keycloak,
Брокер-сообщений Apache Kafka,
BPMN-платформа Camunda,
База данных postgreSQL

Прикладные скрипты

Разработка скриптов на языках Python, JavaScript, Java/Groovy и др.

Предметная область

Предметная область

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

Гибкие навыки для управления командой и взаимодействия с заказчиком

Деловые коммуникации

Гибкие навыки для рабочего взаимодействия с заказчиком:
- Интервьюирование
- Деловая переписка

Переговоры

Гибкие навыки для переговоров с заказчиком:
- Знание и владение стратегиями переговоров
- Знание и владение способами управления конфликтом
- Управление ожиданиями

Демонстрации и обучение

Гибкие навыки:
- Проведение демонстраций функционала
- Разработка программы и проведение обучения специалистов заказчика

Управление командой

Понимание основных методов управления проектами

Знание основных понятий управления проектами

Понимание рисков проекта и методов по управлению ими

Понимание методологии Scrum и опыт работы по ней

Смежные роли

Бизнес-анализ

Знание и опыт работы с нотациями бизнес-анализа: BPMN, UML, WAD

Управление жизненным циклом доработки функционала

DevOps

Понимание принципов контейнеризации и оркестрации контейнеров

Опыт работы с оркестраторами контейнеров Kubernetes, OpenShift и т.п.

Архитектура

Понимание принципов и способов интеграции со смежными системами

Понимание принципов информационной безопасности

Понимание принципов и опыт работы по соглашениям

Проектирование

Понимание принципов, структуры, назначения и опыт чтения проектных документов

Таким образом, инженер внедрения должен обладать широким спектром компетенций.

Я планирую написать вторую часть статьи и подробно рассказать о развитии и карьерном росте инженера внедрения от junior до senior.

Буду рад, если данный текст окажется полезным для вас. Пишите отзывы.

Комментарии (0)