Как это устроено в Haulmont: команда разработки Jmix (ex-CUBA Platform)

Здоровье в Haulmont: как мы расширили меры поддержки сотрудников в 2021 году

Продолжаем серию материалов, где рассказываем, как устроена разработка и карьерный рост программиста в Haulmont. Мы уже рассказывали про команду одной из самых востребованных в России СЭД. А сегодня вы узнаете детали профессии разработчика Jmix (ex-CUBA Platform) — известного во всем мире фреймворка для быстрого создания бизнес-приложений.

Платформа Jmix (ex-CUBA Platform): крупным планом

Jmix (ex-CUBA Platform) — это высокоуровневый open source фреймворк, позволяющий в разы ускорить разработку enterprise-приложений. В его основе лежат широко известные технологии, такие как Spring, EclipseLink, React. Сегодня платформой пользуются более 20 тысяч разработчиков ипо всему миру.

Фреймворк обладает обширной функциональностью. Например, в него встроена подсистема контроля доступа, так что аутентификация и авторизация пользователей, а также управление ролями уже встроены «в коробку». Это позволяет программистам сосредоточиться на решении специфических бизнес-задач в той области, где они работают. Недавно мы рассказывали, как благодаря Jmix (ex-CUBA Platform) штатный разработчик логистической компании в одиночку создал ERP-систему.

Сейчас команда бизнес-юнита работает над самым большим обновлением в истории фреймворка и делает шаг в сторону мейнстрим-технологий.
В ближайшем будущем Jmix (ex-CUBA Platform) будет базироваться на Spring Boot и представлять собой множество небольших модулей, которые выборочно подключаются пользователем.

Команда платформы и команда Studio

Подразделение Jmix (ex-CUBA Platform)насчитывает около 20 разработчиков. Большая их часть занимается развитием фреймворка и его компонентов — это Frontend team, Generic UI team, Backend team и Components team. Также они создают дополнительные компоненты с готовой функциональностью. Например, модуль управления бизнес-процессами, который позволяет проектировать и организовывать работу приложения. И, конечно, пишут код на Java и TypeScript (очень много кода).

Отдельная команда инженеров развивает плагин Jmix Studio, встроенный в популярную среду разработки IntelliJ IDEA. Специалисты этой команды отвечают как за создание визуальных инструментов для широкой аудитории, так и за специальные возможности IDE для опытных разработчиков: фоновые инспекции кода для обнаружения типовых ошибок, рефакторинги, быстрые фиксы для поддержки «intention-driven» development и т. д. Кстати, в отличие от своих коллег, разработчики Jmix Studio пишут код преимущественно на Kotlin.

У команды Jmix (ex-CUBA Platform) свободный график: каждый сам выбирает, когда начинать и заканчивать работу. Единственное правило — предупреждать коллег и Team Lead об отсутствии. Некоторые сотрудники работали из дома и до пандемии, хотя мы не практиковали это повсеместно. Сейчас многие оценили преимущества удаленки, тем более компания обеспечивает сотрудников нужной техникой.

Все разработчики платформы активно участвуют в обсуждениях на форуме поддержки. Ежедневно туда приходят десятки сообщений, разработчики из сообщества решают вопросы из разных областей вместе с инженерами Jmix (ex-CUBA Platform), которые разбираются в том числе и в особенностях фреймворков и технологий, лежащих в основе платформы, и могут дать экспертный ответ. Кстати, общаться преимущественно нужно на английском. А это отличная возможность практиковать иностранный язык.

Инженерный вызов

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

apostrof
avatar

Константин Кривопустов

технический директор Haulmont

Пользователи платформы Jmix (ex-CUBA Platform) — это целое сообщество разработчиков по всему миру, а не конкретный клиент. Как видите, это не похоже на создание продукта или заказных приложений. Самое главное в нашей работе — продуманность решений, предлагаемых фреймворком, так как все что мы делаем, используется множеством разработчиков в самых разнообразных вариантах и сочетаниях. Приходится руководствоваться принципом «семь раз отмерь, один раз отрежь».

К тому же, открытая архитектура всего стека требует особого внимания к качеству разработки. Исходный код может посмотреть каждый пользователь, а значит, он должен быть хорошо структурирован, понятен для чтения и единообразен. Для удобства пользователей команде Jmix (ex-CUBA Platform) нужно мыслить коллективно и придерживаться определенных стандартов.

Другой инженерный вызов — команде платформы необходимо постоянно думать об обратной совместимости, чтобы пользователи могли безболезненно переводить свои бизнес-приложения на новые версии Jmix (ex-CUBA Platform).

Адаптация и профессиональный рост

Платформа Jmix (ex-CUBA Platform) — это большой, сложный продукт с высочайшими требованиями к качеству кода и продуманности API. Поэтому в команду приходят уже опытные инженеры-программисты, разбирающиеся в особенностях создания бизнес-приложений.

Первые две недели новый сотрудник проходит через тренировочные задачи, например, создает бизнес-приложения на основе наших технологий. Это позволяет быстрее освоиться в платформе Jmix (ex-CUBA Platform). Тренируется он, конечно, не в одиночку — ему помогает Team Lead, который выполняет роль ментора.

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

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

А еще каждый инженер Jmix (ex-CUBA Platform) может развивать свои коммуникативные навыки и представлять компанию на международных IT-конференциях. В этих случаях Haulmont не только оплачивает поездку, но и дает хорошие премии за принятые доклады и статьи. До пандемии мы активно выступали в крупных конференциях и митапах. Например, JPoint и Joker. Сейчас мы по-прежнему активные участники конференций и митапов, но уже онлайн.

apostrof
avatar

Глеб Горелов

TeamLead команды Generic UI

До прихода в Haulmont я три года учился в аспирантуре и преподавал в ПГУТИ. Но затем я поумнел и решил найти работу по специальности.

Jmix (ex-CUBA Platform)— это идеальный проект для меня, а область UI-разработки была мне интересна еще со студенческих лет: всегда старался сделать в приложениях более привлекательный и удобный интерфейс. Опыт преподавания в вузе пригодился, когда я стал проводить обучающие вебинары и тренинги по платформе. Я мог объяснить сложные вещи простыми словами, и это помогало в работе.

Сейчас я вырос до должности Team Lead в команде Generic UI. Теперь в мои задачи входит развитие этого направления, а также помощь коллегам из команды: я проверяю их код, даю задачи, требующие не только аккуратности, но и творчества.

У нас действительно большой процент R&D. Например, если нужно интегрировать новый UI-компонент, то нет никаких ТЗ и прописанных требований, мы все делаем сами — продумываем API и варианты использования, изучаем новые инструменты и возможности программирования и применяем это на практике.

В Jmix (ex-CUBA Platform) большое внимание уделяют качеству и стилю кода, поэтому практически любая задача подвергается строгому code review (очень строгому). Мы создаем open source фреймворк, поэтому качество кода напрямую влияет на удобство его использования. По этой же причине у нас не принято отправлять код тестировщикам без предварительной проверки. Кому-то это может показаться слишком строгим, но мне, наоборот, нравится такой подход. Думаю, в команде Jmix (ex-CUBA Platform) работают настоящие профессионалы своего дела.

Если вы хотите попасть в команду Jmix (ex-CUBA Platform) и вносить вклад в развитие мировой open source экосистемы, смотрите наш раздел «Карьера».

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

Может быть интересно:
Как это устроено в Haulmont: технологии команды разработки платформы
Как это устроено в Haulmont: технологии команды разработки платформы
Здоровье в Haulmont: как мы расширили меры поддержки сотрудников
Здоровье в Haulmont: как мы расширили меры поддержки сотрудников
Удаленка в Haulmont: чему нас научил 2020 год
Удаленка в Haulmont: чему нас научил 2020 год

О наших разработках и бизнес‑новостях вы можете прочитать
на официальном сайте компании