Сфера деятельности: логистика
Используемые продукты JetBrains: Qodana, IntelliJ IDEA
Число сотрудников: 16 000 сотрудников
Размер команды: 800 разработчиков, 1600 проектов в GitLab
Технологии: Java, PHP, Swift, Typescript, Jenkins
Evri — крупнейшая в Великобритании компания по доставке посылок, которая ежегодно обрабатывает более 720 миллионов отправлений, сотрудничая с крупнейшими европейскими ритейлерами, маркетплейсами и платформами для продажи подержанных вещей. Основанная в Йоркшире в 1974 году, компания значительно выросла: сегодня у нее более 8 000 сотрудников, 26 000 курьеров, 14 000 пунктов выдачи и постоянно растущая сеть современных складов и сортировочных центров. Evri стремится сделать отправку, получение и возврат посылок максимально удобным и экологичным.
Evri обрабатывает огромные объемы посылок по всей Великобритании, опираясь на сложную экосистему ПО: от сайтов для оформления доставки и API для ритейлеров до внутренних инструментов управления физической инфраструктурой.
Чтобы упростить развертывание и поддержку этого ПО, компания создала команду Developer Experience (DevEx), которая занимается оптимизацией рабочих процессов, а также заботится о продуктивности и комфорте разработчиков.
Одной из ключевых задач команды стала автоматизация проверок качества кода, чтобы обеспечить соблюдение единых стандартов, удобное взаимодействие и своевременное устранение проблем.
Раньше для анализа кода в компании использовали SonarQube, но со временем начали возникать вопросы к его эффективности. Он оказался дорогим, а конфигурация содержала множество устаревших правил. Старший технический архитектор компании Люк Мортон объясняет: «...разработчики могли создавать свои правила, чтобы их код проходил проверки. В итоге мы не могли полностью контролировать собственные стандарты качества кода».
Переход на Qodana давал сразу несколько преимуществ:
«Когда разработчики сразу же получают обратную связь в комментариях к merge-реквестам, это помогает им приоритизировать задачи»,
— Люк Мортон, старший технический архитектор в Evri
«Перейти на новый инструмент было правильным решением. Мы смогли сразу установить нужную планку»,
— Джеймс Хэттерсли-Дайкс, ведущий инженер в Evri
Главным преимуществом Qodana с точки зрения Evri стало то, что после встраивания в пайплайн решение просто работает, не требуя постоянного контроля.
В пайплайне Evri процесс начинается с компиляции кода и выполнения юнит- и интеграционных тестов. Затем параллельно запускаются различные проверки качества, в том числе с помощью Qodana и Snyk. Каждый инструмент дает обратную связь по merge-реквестам. Если одна из проверок не пройдена, сборка останавливается, и merge-реквест не интегрируется в основную ветку. Однако код можно развернуть в тестовой среде для дополнительных проверок.
Qodana помогла Evri существенно сократить время подготовки релиза. Интеграция инструмента в пайплайн позволила выпускать обновления чаще и быстрее. Особенно полезна быстрая обратная связь по merge-реквестам, благодаря которой разработчики могут быстро исправить ошибки и ускорить процесс релиза.
«Благодаря Qodana разработчики Evri резко сократили время подготовки релизов, поскольку теперь они сразу получают обратную связь по merge-реквестам и могут быстрее исправить ошибки. Время анализа сократилось до 3-5 минут вместо прежних двадцати»,
— Люк Мортон, старший технический архитектор в Evri
Qodana создает минимум помех и требует меньше человеческого вмешательства, поэтому она так удобна в работе.
«Команда DevEx не использует Qodana в повседневной работе, мы занимаемся только администрированием. Судя по тому, что нам не приходится о ней думать, все работает как надо. Я лично не вспоминаю о Qodana неделями, значит, она делает свое дело»,
— Луи Джонс, ведущий специалист по Developer Experience в Evri
Qodana стала для разработчиков дополнительным источником знаний.
«Qodana дала разработчикам отличную возможность для микрообучения: когда она оставляет комментарий к merge-реквесту, можно кликнуть по нему, увидеть проблему и сразу понять, как ее исправить»,
— Люк Мортон, старший технический архитектор в Evri
Амит Вайнблум, руководитель команды инфраструктуры в Moovit
Qodana помогает стабилизировать систему и избежать исправлений в последний момент. Мы видим, как меняется подход: команды начинают следовать правилам и спасают себя от бессонных ночей благодаря Qodana.
Дэниел Ларсон, архитектор ПО, Zynex Monitoring Solutions.
Мы видим, что Qodana помогает нашим разработчикам писать наилучший код, независимо от их опыта работы. С помощью Qodana даже начинающие программисты пишут код не хуже опытных, а опытным разработчикам проще поддерживать высокое качество кода. Qodana предлагает множество разных инспекций, и мы рассчитываем, что это решение может не только обеспечить соответствие кода нашим высоким требованиям, но и сыграть роль тренера для наших разработчиков.