Технический директор
Эта история началась в начале 23-го года. Ко мне обратился интегратор за созданием системы запуска производственных линий на фабриках компании Nestle. Это достаточно сложный программный продукт, который берет заказы из ERP-системы, например, SAP, делит заказ на партии и запускает их в производство, упаковку. Например, нужно произвести 100 тысяч тонн кофе или сухого корма. Такое количество невозможно произвести за один цикл работы линии. У каждой линии свои технологические параметры. скорость вращения миксера, температура обжарки, объем входящего сырья и прочее. Чтобы сделать такую систему, даже для одного концерна требуется конфигурировать и связать друг с другом более тысячи различных параметров. Меня пригласили это все создать, поскольку опыта разработки ПО у интегратора не было. А текущую систему нужно было заменять, так как ее поддержку осуществляла команда из Канады, и они больше не могли это делать из-за санкций.
Я со своим партнером Сергеем на вершине Эльбруса. Без альпинизма и партнерства мы бы не смогли сделать этот проект.
Проект был достаточно амбициозный, в том числе по срокам и бюджету. Интегратор вкладывал свои деньги и хотел сделать продукт, который можно было бы ставить и на другие фабрики. Я стартовал проект вместе со своим другом, и мы сделали первый прототип в течение двух месяцев. Там мы обкатали технологический стек, всю связку от получения заказа и сам до изменения значений на ПЛК. Я сам писал код, собирал архитектуру и инфраструктуру для проекта.
Прогноз завершения проекта на основе исторических данных о скорости команды
Параллельно задачей к разработке стала сборка отдела из разработчиков, тестировщиков и различных процессов, начиная от найма до аттестации и составления индивидуальных планов в развитии. Я сделал систему грейдов и запустил процесс менторинга. За полгода-год работы с командой у нас сложился подход к разработке и созрели сотрудники, которым можно было передать часть функционала. Хотя стартовали мы с младшими специалистами.

Такая скорость получилась благодаря тому, что у меня собрался свой джентльменский набор из инструментов для ведения проектов, работы с задачами, отчетов с прогнозом срока завершения проекта. Для того, чтобы успеть, нужно было распараллелить работу. Я сделал несколько микрокоманд по 2-3 человека из бэкэнд-разработчиков, где более опытные могли делиться знаниями и помогать сформулировать понятные задачи и сделать для них аналитику. Получилось собрать отделы 17 человек, и уже к концу второго года отдел мог работать без моего участия: оценивать задачи, планировать свою работу, самостоятельно собирать требования и делать аналитику по бизнес-требованиям и техническим нюансам, проводить ретро.

Дашборд Grafana с информацией о нагрузочном тестировании
В проекте было несколько ключевых моментов:
  1. Старт, где я закладывал все процессы и архитектуру.
  2. Середина проекта, где нужно было собрать команду и распараллелить работу. В это время мы с Серегой, моим партнером, сняли квартиру на месяц в Тырныаузе. Мы тренировались и работали, сходили на Эльбрус, сделали ретроспективу по нашему сотрудничеству и поездке.
  3. На первом запуске на фабрике. Там понадобилась моя техническая экспертиза и умение быстро разбираться в происходящем запутанном. Я прилетел к сервису в Саратов, и мы вместе провели нагрузочное тестирование и разобрались в причинах зависания системы.

Сейчас система работает на 8 фабриках и помогает производить продукцию для всей России и не только.