Industry: Transportation
JetBrains products used: Qodana, IntelliJ IDEA
Organization Size: 200+ employees
Team Size: 6 teams, 60 developers total
Technology stack: Java, Spring, Jenkins
Moovit is the creator behind the #1 commuter app. Moovit’s iOS, Android, and Web apps offer users a smart mobility experience to easily get to their destination using any mode of public and shared transportation. Transit riders can benefit from mobile ticketing to plan, pay, and ride with transit services. Introduced in 2012, Moovit now serves over 1.5 billion users in more than 3,500 cities across 112 countries, in 45 languages.
Public transportation is a lifeline to jobs, education, healthcare, and more, but can be challenging and stressful to navigate. Moovit, the creator behind the #1 commuter app, available on iOS, Android, and Web, offers users a smart mobility experience to easily plan and navigate to their destination using public and shared transportation. Moovit has guided over 1.5 billion users in more than 3,500 cities across 112 countries.
With so many people depending on transit information and guidance, including real-time information, system stability is critical. Moovit’s infrastructure team is responsible for maintaining the stability of Moovit’s entire system for both B2C and B2B projects. The team faced the significant challenge of identifying issues that were landing in production and disrupting the company’s services. One of their key concerns was detecting NullPointerExceptions
, which are common causes of outages and are believed to have played a role in the CrowdStrike incident.
To reduce risks to service operations and maintain high code quality, Moovit started looking for a static code analysis tool that met the following criteria:
Currently, Qodana is used by six teams at Moovit comprising a total of 60 developers. Since Qodana is based on the same analysis engine as IntelliJ IDEA, Moovit developers have synced their inspection profiles across both IntelliJ IDEA and Qodana.
The resulting process involves the following steps:
“The key advantage was that we didn’t need to predefine a list of inspections, as Qodana monitors a wide range of high-severity issues. We simply reviewed its default list of critical problems and removed only those that weren’t relevant to our needs.”
— Amit Weinblum, Infrastructure Team Leader at Moovit
The infrastructure team reported fewer production issues, especially ones that could have been caught during development, thanks to proactive detection and resolution earlier in the process.
“We’re still fairly new to Qodana, but there have already been two major cases where I thought, ‘They saved my team from working late at night’. It has had a positive impact on my work, as I now have more confidence that we will be alerted to critical issues.”
— Dor Rud, Backend Team Leader at Moovit
Moovit valued the ability to create their own custom rules that differ from the standard Qodana inspections, customize the severity of issues, and easily add or remove inspections from their profile, all of which allowed them to monitor the code changes that truly matter to them.
Developers appreciated the accuracy of the analysis and integration with IntelliJ IDEA, which allowed them to resolve issues faster and with less disruption to their workflow.
Another important factor was the power of the JetBrains brand, which helped convince developers to adopt Qodana as an additional code analysis step. They trusted its results because they were already fans of IntelliJ IDEA and other JetBrains products. Ultimately, its speed and reliability enhanced the positive perception of static analysis within the organization.
“Frankly, we were worried about the backlash that we’d need to handle when we introduced Qodana. It’s usually very hard to enforce some company policy on developers. Thanks to the good reputation of JetBrains and the fact that Qodana reports truly critical issues, developers are not ignoring Qodana or looking for workarounds, but fixing the problems.
— Dor Rud, Backend Team Leader at Moovit
Like any code analysis tool, Qodana adds the additional pipeline step and slows down the development cycle – but it’s a short-term inconvenience. In the long term, it has stabilized our production system and allowed developers to avoid fixing issues too late in the pipeline. We’re seeing the shift of the paradigm, where development teams follow the policies and save a few sleepless nights with Qodana.”
— Amit Weinblum, Infrastructure Team Leader at Moovit