Как это устроено в Haulmont: команда разработки Custom Solutions

Как это устроено в Haulmont: команда разработки Custom Solutions

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

В прошлый раз мы рассказывали о разработчиках СЭД ТЕЗИС и CUBA Platform, а сегодня познакомим вас с командой заказной разработки — подразделением Custom Solutions.

Custom Solutions: крупным планом

Custom Solutions занимается созданием заказных решений для компаний из разных стран мира. Нашими клиентами являются одно из ведущих британских агентств по взысканию долгов CDER GROUP (ex. JBW Group), крупнейшая в мире многопрофильная корпорация в сфере здравоохранения Johnson & Johnson, лидер в сфере охраны недвижимости в Великобритании The Keyholding Company, концерн РосЭнергоАтом, Российские космические системы (РКС), Высшая школа экономики и другие крупные заказчики. Многих мы не можем назвать из-за NDA.

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

Custom Solutions — это всегда разнообразие технологий и инструментов. В основе большого числа наших проектов лежит собственная разработка Haulmont — фреймворк CUBA Platform. При этом в бизнес-юните растет число проектов, где не используется платформа. Все чаще разработчики предпочитают микросервисную архитектуру монолиту и используют соответствующие технологии: Spring Boot, Kafka, ZooKeeper, Apache Service Mix. Такое разнообразие позволяет команде программистов, с одной стороны, реализовать все пожелания заказчика, с другой — накопить экспертизу в области технологий разработки.

Евгений Дегтярев,
руководитель направления заказной разработки

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

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


Команда разработки: взгляд изнутри

Для каждого проекта формируется отдельная команда. Как правило, в нее входит от 3 до 10 разработчиков. Они решают много сложных инженерных задач, в том числе, связанных с проектированием архитектуры приложения, дизайном взаимодействия с пользователем и выбором смежных технологий. Например, сейчас бизнес-юнит активно увеличивает команду Front-End/React Developers. Разработка пользовательского интерфейса — это всегда творчество. Наши программисты пишут код с использованием TypeScript, HTML, SCSS, а также создают модули для встраиваемой клиентской системы.

Если проект небольшой и достаточно стабильный, в команде может быть всего один разработчик. Для программиста такой опыт очень пригодится в дальнейшем карьерном росте. На проекте он учится самостоятельно принимать решения, проектировать систему и общаться с заказчиком. А уже через полгода вполне сможет возглавить команду других разработчиков.

Кстати, программисты внутри проекта не обязательно находятся в одном офисе и даже городе. Сотрудники Haulmont работают из Самары, Тольятти, Саратова и Воронежа, поэтому часто общаются дистанционно. Это позволяет объединить разработчиков в команду, исходя из их опыта, интересов и даже уровня владения английским языком.

Да, в Custom Solutions много иностранных проектов, и их успех зависит не только от качества кода, но и от коммуникации с заказчиком. В Haulmont это понимают, поэтому все сотрудники могут записаться на бесплатные курсы, которые организует компания. Нередко наши разработчики выезжают в зарубежные командировки: например, в Англию, США, Швецию и даже Парагвай. Так что языковое (а вместе с ним и карьерное) развитие неизбежно.

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

В бизнес-юните знают: у каждого разработчика — свой распорядок дня. Если он эффективно выполняет свою работу в срок, то команда не будет его беспокоить. Главное, договориться с руководителем проекта.

Адаптация новичков и карьерный рост

Развитие сотрудников, особенно новичков — стратегическая задача Haulmont и самого бизнес-юнита, поэтому мы уделяем много внимания внутреннему обучению.

Для студентов и программистов с небольшим опытом в компании есть курс по разработке корпоративных приложений (при этом они официально устраиваются на работу и получают зарплату). Если после обучения сотрудник захочет развиваться в заказной разработке, он присоединяется к реальному проекту Custom Solutions.

Поначалу молодой специалист или junior выполняет несложные проектные задачи: например, создает экраны, разрабатывает функциональность и вникает в сложные инженерные задачи. Конечно, не в одиночку, ведь ему помогает ментор. Старший товарищ — это не руководитель и даже не коллега по проекту, поэтому с ним всегда можно поговорить и обратиться за помощью. Ментор заинтересован в росте сотрудника — он получает премию за успехи новичка, так что в итоге довольны все.

Со временем (обычно через 1-2 года) разработчик становится опытным, самостоятельным исполнителем — middle developer. Теперь он сам решает, как выполнить ту или иную задачу, и советуется с техлидом только по сложным вопросам. Middle отвечает за конкретный модуль или сервис в системе, таким образом, он учится брать на себя техническую ответственность. К тому же такой разработчик может быть ментором молодого сотрудника и развивать навыки управления. Все это пригодится ему на следующих этапах карьеры.

Middle может развиваться в нескольких направлениях. Можно сконцентрироваться на технических задачах проекта и вырасти до высококлассного технического специалиста (senior). А можно развивать навыки менеджера и занять роль техлида — такой программист умеет руководить командой, понимает проблемы заказчика и знает, как их решить.

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

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

Павел Иванников,
техлид в команде Front-End разработки

До перехода в Custom Solutions я работал в подразделении Shamrock, где мы развивали собственную систему управления службы такси Addison Lee. Затем я занялся заказной разработкой и присоединился к большому проекту по созданию портала непрерывного медицинского образования для РНИМУ.

Это, кстати, один из самых интересных проектов — там я с командой создавал web-версию портала и его мобильное приложение. Заказная разработка очень повлияла на мой карьерный и даже личностный рост. В Custom Solutions я вырос до техлида, возглавил свою первую команду программистов и получил хороший опыт менеджмента.

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

В Custom Solutions мне нравится сам процесс разработки, отсутствие ограничений в выборе технологий и чувство соревнования: важно успеть точно в срок, не бояться рисковать и брать ответственность — это здорово.


Илья Комаров,
старший fullstack-разработчик
Я пришел в Haulmont больше года назад, уже имея опыт в fullstack-разработке. На испытательном сроке тоже присоединился к проекту для РНИМУ и решал Front-end задачи. Затем подключился и к Back-End части: прошел обучение на фреймворке CUBA Platform и занимался исправлением ошибок в коде и написанием новой функциональности системы. К концу 2019 года я уже стал лидом Front-End и завершал проект вместе с коллегой.

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

А еще, этим летом я стал ментором. Мой джуниор-разработчик работает на проекте для крупной энергетической компании из России и имеет базовые знания Java-разработки и платформы CUBA. Я помогаю ему писать код и принимать программные решения, отвечаю на все его вопросы и иногда провожу code review.

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

Мне нравится писать код и думать, как с его помощью я могу решить проблемы заказчика. На самом деле, то, как разработчик подходит к своей работе, определяет не только качество его проекта, но и всего бизнеса. Так что моя работа — это не только программирование, а нечто большее.


Если вы тоже хотите развиваться в заказной разработке и работать с передовыми технологиями, посмотрите наш раздел «Карьера» — там находятся все вакансии в подразделение Custom Solutions.

Другие материалы из серии «Как это устроено в Haulmont» читайте в нашем блоге.

Предыдущая статья Следующая статья

Может быть интересно: