December 2024 Quality Engineering Meetup in Amsterdam

Thanks to JetBrains Amsterdam, we had a wonderful time with 36 guests, three talks, beer with pizza, and plenty of discussions. Not even the extreme 110km/h winds could keep our attendees away. We love to see that devotion, thank you to everyone who made it!

Behind the code: the evolution of QA in Kotlin

At our October meetup in Berlin, Aleksandr Zakharenko, a QA engineer from JetBrains Kotlin team, explained the manual and exploratory QA strategies used to test Kotlin. In Amsterdam, Liliia Abdulina, Head of QA in Kotlin at JetBrains, discussed the evolution of the Kotlin QA team and processes during her seven years with the company.

The team grew from a single QA engineer embedded within the development team to 35 QA engineers across eight locations. This change wasn’t just a coincidence — it was a deliberate response to the increasing complexity of the system. I fully agree that QA processes and testing strategies should evolve alongside product changes and adapt as needed.

However, change isn’t always easy. QA processes for a high-quality product might sound simple in a talk, but it takes a lot of effort to implement every change. One guest asked if it was easy to “sell the changes”  to engineers and managers, and I had flashbacks, recalling hundreds of failed attempts. I believe that only organizations with a culture of continuous learning can successfully implement meaningful process changes.

Kotlin: How to create e2e coverage of a programming language

It was Artur Parpibaev’s debut talk, and he absolutely nailed it! The Kotlin QA Automation Team Lead, focused his presentation on the challenges of test automation for a product with tens of thousands of “happy paths” and millions of edge cases. The primary challenge is deciding what to test: the sheer number of test scenarios for all possible test objects is almost incalculable. 

“In such a complex system, imitation of a user from different angles is a must”

In Kotlin QA, the team adopted a “product-first” approach — prioritizing the imitation, verification, and validation of the user experience. This strategy emphasizes the most common use cases for the compiler, build tools, IDE, and the entire surrounding ecosystem.

The audience loved the talk, it started many discussions, mainly around measuring the quality. I can’t even begin to imagine how challenging and costly it would be to build and maintain a measurable quality model for such a vast ecosystem. Artur’s team is fortunate to be able to reason about the quality of the systems under test without relying on synthetic metrics for quantification.

Magical thinking: from astrology to code reviews

I presented the talk I gave at our previous meetup in Stockholm. One thing I love about this talk is it involves asking the audience to estimate costs, speed, side effects, knowledge sharing efficiency, and defects leakage efficiency of a code review — and every audience has different opinions.

The point of the exercise is not to find the correct answer but rather to demonstrate how many processes are based on guesswork — which is akin to relying on your horoscope to set your software development timelines. 

See you next year!

Our Amsterdam meetup was the last Quality Engineering meetup of 2024, but don't worry, we'll be back in 2025! Follow our Quality Engineering meetup pages to hear about upcoming meetups in Berlin and Amsterdam. We'll also be experimenting with new cities around Europe, follow us on Linkedin to be the first to hear about new locations.