Сфера деятельности: Транспорт
Используемые продукты JetBrains: Qodana, IntelliJ IDEA
Число сотрудников: 200+ сотрудников
Размер команды: 6 команд, 60 разработчиков
Технологии: Java, Spring, Jenkins
Moovit — создатели самого популярного сервиса для пассажиров. В приложении Moovit на iOS, Android и в браузере легко спланировать поездку на любом виде общественного транспорта. В приложении также можно купить билеты. С момента запуска в 2012 году Moovit помог добраться до места назначения 1,5 миллиардам человек в 3500 городах, в 112 странах и на 45 языках.
Для многих общественный транспорт — основной способ добраться до работы, учебы или к врачу, однако пользоваться им бывает сложно и стрессово. Moovit, разработчик самого популярного приложения для поездок на транспорте, доступного на iOS, Android и в браузере, помог 1,5 миллиардам пассажирам с легкостью планировать маршруты и перемещаться по 3500 городам в 112 странах.
Когда столько людей полагаются на транспортную информацию, особенно в реальном времени, стабильность системы крайне важна. Команда инфраструктуры Moovit отвечает за бесперебойную работу всех сервисов компании — как B2В, так и B2С. Им нужно было решить важную задачу: вовремя находить баги, которые просачиваются в продакшен и нарушают работу сервисов. Одной из главных проблем были NullPointerExceptions
, которые часто приводят к сбоям и, как считается, сыграли значительную роль в инциденте с CrowdStrike.
Чтобы минимизировать риски для сервиса и поддерживать высокое качество кода, команда начала искать инструмент статического анализа, который бы:
Сейчас Qodana используют шесть команд в Moovit — в общей сложности 60 разработчиков. Поскольку Qodana и IntelliJ IDEA работают на одном анализаторе, они смогли синхронизировать настройки инспекций в обоих инструментах.
Процесс выглядит так:
«Большое преимущество в том, что нам не нужно было заранее составлять список проверок. Qodana сама следит за множеством серьезных проблем. Мы просто посмотрели на стандартный список критических ошибок и убрали те, что нам не подходят»,
— Амит Вайнблум, руководитель команды инфраструктуры в Moovit
Команда инфраструктуры заметила, что в продакшене стало меньше проблем, особенно тех, что могли бы быть выявлены на этапе разработки. Это произошло благодаря проактивному поиску и исправлению ошибок на более ранних этапах.
«Мы только начали пользоваться Qodana, но уже дважды она спасла мою команду от работы допоздна. Это положительно сказалось на моей работе, потому что теперь я уверен, что мы узнаем о критических проблемах вовремя»,
— Дор Руд, руководитель команды бэкенд-разработки в Moovit
Moovit ценит возможность создавать собственные правила, отличающиеся от стандартных проверок Qodana. Они могут регулировать степень серьезности проблем и легко добавлять или удалять проверки. Это позволяет следить за теми изменениями в коде, которые для них наиболее важны.
Разработчики отметили точность анализа Qodana и хорошую интеграцию с IntelliJ IDEA, которые позволили им быстрее находить и исправлять проблемы, не нарушая рабочего процесса.
Бренд JetBrains сыграл свою роль: разработчики доверяли результатам, так как уже были знакомы с IntelliJ IDEA и другими продуктами компании. Благодаря скорости и надежности Qodana они стали лучше относиться к статическому анализу кода.
«Честно говоря, мы боялись, что разработчики не примут Qodana. Обычно трудно заставить команду следовать корпоративным правилам. Но благодаря хорошей репутации JetBrains и тому, что Qodana находит действительно важные проблемы, разработчики не игнорируют ее и не ищут обходные пути, а просто исправляют ошибки»,
— Дор Руд, руководитель команды бэкенд-разработки в Moovit
«Как и любой инструмент для анализа кода, Qodana — это дополнительный шаг в рабочем процессе, который замедляет цикл разработки, но это временные неудобства. В долгосрочной перспективе она помогает стабилизировать систему и избежать исправлений в последний момент. Мы видим, как меняется подход: команды начинают следовать правилам и спасают себя от бессонных ночей благодаря Qodana»,
— Амит Вайнблум, руководитель команды инфраструктуры в Moovit