В компанию Haulmont входит несколько крупных подразделений, и в каждом из них есть разработчики. Несмотря на схожие задачи они имеют свою специализацию, технологии и возможности для развития. Наши специалисты не просто пишут код, а погружаются в различные отрасли: от медицины до банковской сферы.
Мы продолжаем серию материалов, где детально рассказываем, как устроена работа в Haulmont. Сегодня вы узнаете, чем занимаются разработчики одной из самых востребованных в России систем для автоматизации документооборота — ТЕЗИС.
ТЕЗИС: крупным планом
СЭД ТЕЗИС — флагманский продукт Haulmont на отечественном рынке. Это самая технологичная система электронного документооборота в России, которую выбрали более 500 заказчиков. Например, наш продукт используют «Промсвязьбанк», «Ингосстрах», DNS, 585 Gold, российские подразделения Nokia, Ehrmann, а также крупные зарубежные автопроизводители, которых мы не можем назвать из-за NDA.
Сегодня ТЕЗИС выбирают не только как удобную СЭД, но и как современную платформу для автоматизации самых разных процессов, например, работы отдела кадров или финансовой службы, взаимодействия с клиентами или управления ресурсами.
В основе ТЕЗИС лежит проверенный временем, но неизменно популярный среди разработчиков Java-стек, а также собственная разработка Haulmont — платформа Jmix (ex-CUBA Platform), предназначенная для быстрого создания корпоративного ПО. Платформа позволяет пропустить этап выбора технологий и предоставляет широкий диапазон готовой функциональности по администрированию систем уровня enterprise. Так что программисты могут полностью сосредоточиться на бизнес-логике и коде (да, его много).
Сегодня команда ТЕЗИС насчитывает около 50 разработчиков. В их задачи входит построение архитектуры системы, проектирование структуры базы данных, реализация различных модулей и интеграций на Java.
Геннадий Павлов
технический директор СЭД ТЕЗИС
Хороший разработчик не просто пишет красивый код: он понимает, для кого этот код, и как им будут пользоваться. ТЕЗИС — это платформа для автоматизации бизнес-задач в любой сфере. Так что наши программисты погружаются в прикладную специфику совершенно разных отраслей. Например, банков, страховых компании, медицины. Благодаря этому наши разработчики профессионально совершенствуются и растут.
Команда продукта
Часть программистов ТЕЗИС разрабатывает новые версии системы. Именно они придумывают, как реализовать планы по развитию продукта, и выбирают наиболее подходящие для этого технологии. Яркий пример — разработка мобильного приложения СЭД ТЕЗИС. С одной стороны, нужно было создать современное приложение, которое сможет работать как нативное и в Android, и в iOS. С другой — найти оптимальный инструмент, позволяющий написать одно приложение для обеих операционных систем. Тогда, три года назад, разработчики ТЕЗИС провели R&D (research and development): искали платформы, создавали макеты и тут же их тестировали. Многие варианты отбраковывали и начинали поиски заново — до тех пор пока не нашли фреймворк React Native, который отлично подошел для реализации наших задач.
В ближайшем будущем команда бизнес-юнита планирует внедрить в систему искусственный интеллект. Сейчас разработчики решают, какие процессы могут быть полностью автоматизированы. Например, с помощью ИИ система научится самостоятельно назначать исполнителя по задаче — и это лишь один из возможных сценариев развития.
Разработчики заказных решений
Другая часть разработчиков ТЕЗИС занимается заказными решениями на базе системы. В таких случаях сотрудники могут погрузиться в специфику различных отраслей: финансы, промышленность, медицина, автопроизводство и т. д.
В клиентских проектах нередки случаи, когда программисту нужно интегрировать ТЕЗИС с другими системами. Такая задача стояла и на проекте одной из крупнейших российских сетей по продаже техники DNS. Нужно было сделать так, чтобы сотрудники компании могли отсканировать документ и автоматически получить соответствующую и правильно заполненную карточку в системе. Это стало возможным благодаря интеграции СЭД ТЕЗИС с платформой для интеллектуальной обработки информации ABBYY FlexiCapture. Новый модуль определяет значение текста и подставляет в нужные поля название компании-контрагента, сумму договора и другие данные.
Разработка в ТЕЗИС — это не безликий код, а творческий процесс. Если заказчику нужна нетиповая разработка, мы делаем ее с нуля. Недавно нашему клиенту нужно было автоматизировать блок HR-отдела. В типовой функциональности ТЕЗИС не было такого модуля, и наши программисты разработали новый.
Разработчики в ТЕЗИС, как правило, не тратят время на решение возникших у заказчика проблем в ходе эксплуатации или после запуска проекта. С большинством из них может справиться сильная команда внедрения и сопровождения. Разработчикам нужно подключаться только в сложных случаях.
Адаптация новых сотрудников
Работать в ТЕЗИС приходят как выпускники вузов, так и опытные разработчики. Это разный уровень подготовки, и, конечно, процесс обучения для таких сотрудников отличается. Но абсолютно все новички погружаются в продукт с головой и сдают внутренние экзамены.
Первые несколько недель им предстоит изучать документацию и выполнять небольшие тренировочные задачи под руководством ментора. Затем нужно сдать внутренний экзамен. Все это занимает примерно две-три недели, хотя, конечно, срок зависит от опыта и активности нового сотрудника. После этих несложных испытаний новичок переходит к работе над проектами бизнес-юнита. Адаптироваться и влиться в команду помогает один из опытных разработчиков, выступающий в качестве ментора.
У программистов ТЕЗИС свободный график: начинать и заканчивать работу можно в любое время, подстраиваться нужно только под совещания своей команды. Кто хочет, может работать удаленно — особенно во время пандемии.
Карьерный рост
У разработчика в ТЕЗИС есть несколько путей развития. Для начала разработчику уровня junior нужно научиться решать поставленные задачи самостоятельно, чтобы выйти на уровень regular. Далее, если он хочет и может, сотрудник выбирает путь опытного разработчика (senior), который впоследствии может стать техлидом.
Разница между опытным программистом и техлидом — в ответственности за технические решения выполняемые командой проекта. Решения должны быть оптимальными и не приводить к падению производительности системы. Как показывает опыт, наши программисты растут вместе с новыми проектами — за прошедший год еще пять сотрудников бизнес-юнита ТЕЗИС выросли до уровня технических лидеров.
Отдельно стоит отметить развитие навыков, связанные с UX — каждому разработчику необходимо думать о том, чтобы система была удобна для пользователей.
На этом карьерный рост не заканчивается: и senior, и техлид могут стать архитекторами системы. Архитектор — это профессионал в своей сфере, сотрудник с большим опытом. Заняв такую роль, сотрудник участвует в техническом развитии не только отдельных проектов, но и подразделения в целом.
То, в каком направлении будет расти сотрудник, зависит от его личных качеств и характера. В Haulmont понимают, что среди разработчиков есть как интроверты, так и экстраверты. Поэтому сотрудникам ставят задачи, которые им подходят по складу характера. Более коммуникабельные программисты вполне могут взаимодействовать с заказчиками и развивать менеджерские качества, если проявят желание.
Раз в квартал у каждого программиста проходит встреча с руководством бизнес-юнита. Там обсуждаются результаты работы, а также то, как сотрудник себя чувствует в команде, какие видит перспективы и чего хочет добиться — в том числе и по зарплате.
Станислав Стекольщиков
техлид СЭД ТЕЗИС
О Haulmont я узнал, будучи студентом — увидел объявление о наборе на курсы и записался. После летних каникул меня позвали в ТЕЗИС разработчиком, и я согласился.
По образованию я математик, поэтому мне интересно не просто писать код, а погружаться в некий аналитический процесс, который приводит к полноценному продукту. Важно, чтобы в системе не было никаких противоречий, все работало корректно и производительно, а клиенту было удобно.
Несколько лет я набирал опыт, изучал систему, чтобы стать экспертом и руководить командой разработчиков. Сейчас я вырос до техлида, а с недавнего времени участвую и в pre-sales — т. е. общаюсь с нашими потенциальными заказчиками. Обычно техлид разговаривает с клиентом, если компании уже заключили договор. Но иногда на pre-sales, помимо бизнес-аналитика, приглашают разработчика-эксперта, который детально расскажет о возможностях системы.
Я несколько раз был ментором, и довольно многие программисты ТЕЗИС учились у меня. Важно сразу объяснять новичку нашу конечную цель, чтобы он чувствовал ответственность не только за код, но и за систему в целом. Тогда получается классная командная работа, а это самое главное!
Дмитрий Кандалин
разработчик СЭД ТЕЗИС
Так вышло, что я участвую как в продуктовой разработке, так и в заказных решениях. Это дает мне интересный опыт и много путей для роста. С одной стороны, я глубоко погружен в систему, смотрю, как далеко мы шагаем в плане технологий, с другой — работаю над интересными проектами.
Помню первое клиентское решение в качестве техлида — мы автоматизировали HR-блок для Nokia. Тогда я по-новому оценил масштабы нашей работы: мы внедряли интересное решение такому крупному заказчику.
Поскольку я одновременно работаю над продуктом и заказными решениями, у меня есть возможность расти одновременно в двух направлениях. Например, в продуктовой разработке я разработчик, а вот на клиентских проектах — техлид.
Роль технического лидера говорит об экспертности сотрудника, а еще накладывает на него большую ответственность. В некоторых случаях он общается с заказчиками и со своей точки зрения предлагает, как улучшить решение. В то же время техлид всегда должен прийти на помощь своей команде, если у нее появляются сложности.
За три года работы в ТЕЗИС я дважды становился ментором. Оказалось, это очень полезно не только для новичка, но и для опытного разработчика. Порой, мне нужно было еще больше погружаться в тему и прорабатывать ее, чтобы доступно и понятно объяснить ее.
Если вы вдохновились и захотели попасть в команду ТЕЗИС — вакансии для разработчиков мы публикуем в разделе «Карьера».