Scalar Conference 2025 - Summary & Highlights
The eleventh edition of the Scalar conference is behind us. As in previous years, it gathered over 280 enthusiasts of the Scala programming language in Warsaw. The expert speakers performed brilliantly, as they shared a wealth of knowledge and showcased many interesting real-life use cases. However, this wasn’t all the music to our ears that came from the stage! We also experienced composing classical music with the help of... Scala.
Check out what happened at the March 27-28 conference, watch the talks you're interested in, and be sure to join us next spring!
Start with this short video to feel the Scalar vibe:
When organizing one conference is not enough…
While organizing such a large and recognizable event as Scalar is quite a challenge, this year, we set ourselves an even more ambitious goal and killed two birds with one stone – the day before Scalar, we hosted an event dedicated to Rust programming language. You can read more about it in the Rustikon summary on our blog and visit its website here.
Scalar 2025 summary - day 1
The first day of the conference began with a little surprise for the guests – precisely, a Surprise talk from Martin Odersky. After that, participants listened to eleven speeches full of knowledge and passion. Below, you will find brief descriptions to help you decide which recordings to watch.
Surprise talk: Evolving Scala - Martin Odersky
Scalar began with a surprise. Martin Odersky, the inventor of the Scala language, spoke about the evolution and future of Scala, as well as the challenges and expectations of the language. This speech opened the conference perfectly and sharpened the appetite for more knowledge.
Going structural with Named Tuples - Jamie Thompson
Scala 3.6 stabilizes the Named Tuples proposal in the primary language. Jamie Thompson’s talk centered around four key questions related to them:
- Why are Named Tuples being introduced?
- What is structural typing, and why is it useful?
- How to use Named Tuples?
- What are their limitations?
'Jamie showed Named Tuples, which we’re about to see in standard Scala in version 3.6. It was an in-depth presentation, showing the advantages and limitations. I certainly liked it and instantly saw how it could improve writing expressive code, so I’m really looking forward to this addition.'
Magda Stożek, Senior Scala Developer'A brief but clear introduction to the Named Tuples feature landing in Scala 3.6. It will significantly enhance code readability and reduce boilerplate - I can’t wait to try it!'
Jacek Centkowski, Senior Software Engineer
Do You Even Macro? - Daniel Ciocîrlan
Scala 3 macros are some of the least understood parts of the language and some of the most powerful. Daniel Ciocîrlan took on the challenge of demystifying macros, breaking down the essentials: what they are, why they matter, and how they can supercharge your Scala code. His goal? To help you not just understand macros, but actually get good at using them in real-world scenarios.
'Daniel has the gift of explaining complex problems very clearly, and it was great to hear him present macros in Scala 3. I never had a chance to look into it closely before, but after this talk, I would know where to start and when I might use it. Macros don’t feel as intimidating as they felt before.'
Magda Stożek, Senior Scala Developer
Production-ready direct-style Scala - Adam Warski
While some great solutions, like the cats-effect and ZIO libraries, provide the tooling for building asynchronous and concurrent applications, direct-style complements the Scala offering when it comes to backend development, modeling complex business domains, transforming data pipelines, and more. Adam Warski, Chief R&D Officer and co-founder of SoftwareMill, showed the effort we’ve made to make direct-style Scala a reality and something you can use in production. He demonstrated a working example of an application written in a direct-style and presented how it works with front-end development.
'Direct style in Scala is a thing, and Adam presented a comprehensive example of how to leverage it to build a compelling full-stack application in just a few lines of code.'
Jacek Centkowski, Senior Software Engineer
Yo Dawg, Heard You Want To FlatMap Your Direct-Style - Riccardo Cardin
The potential of combining Algebraic Effects and Handlers with Scala 3's direct style opens new possibilities for exploring different programming paradigms and libraries. In his talk, Riccardo Cardin took this idea for a spin. He live-coded a mini effect system using nothing but Scala 3 context functions, building it up step by step. By the end, he’d shown that yes – you can bolt on for-comprehension support, creating a system flexible enough to write the same logic in either direct style or classic monadic style. Pretty slick, right?
Slow-Auto, Inconvenient-Semi: escaping false dichotomy with sanely-automatic derivation - Mateusz Kubuszok
Using one of those many type-class–based libraries in Scala? Then you’ve probably stumbled into the “automatic vs. semiautomatic” derivation debate at some point – and maybe even lost a few hours to it. Mateusz Kubuszok feels your pain. In his talk, he dove into the root of these headaches and introduced a refreshing alternative: sanely-automatic derivation. It compiles fast, runs fast, and is easy to debug by its users.
Exploring JVM Innovations Through the Lens of Scala Native - Wojciech Mazur
New additions to JDK, new opportunities for Scala language. Wojciech Mazur talked from the stage about novelties in JDK and how to implement some of the proposals in Scala Native. Watch the recording and learn how to leverage those improvements to make your apps better.
Unison, from a Scala perspective - Olivier Mélois
Unison is a young programming language for the cloud, built in particular by the authors of the Scala Red Book and other people who are (or were) active in the Scala community. Unison distinguishes itself from traditional programming languages by reinventing the foundations of code storage and deployment. By doing so, it unlocks some fascinating properties that are quite unique in the programming landscape. Olivier Mélois quickly introduced the Unison "paradigm" and language from the perspective of a long-time Scala programmer.
Retrying the retry design - Michał Płachta
Next, Michał Płachta shared some alternative ideas for a better, more RT-friendly design for retries and many more side-effectful APIs. The main problem is that many APIs don’t fully leverage the power of RT: they focus too much on the side effects themselves rather than on the value representation of those effects. This, in turn, makes testing such apps very difficult. Watch the recording and discover Michał’s solutions to solve this challenge.
Lightning talk: Inlay Hints and the X-Ray mode - Maciej Gorywoda
IntelliJ IDEA allows for displaying useful information directly in the editor, next to the code, in the form of inlay hints that are slightly different from the actual code but similar enough to be effortlessly read together. But such functionality can come at a cost – you may feel that the editor is now too crowded and cluttered with unnecessary text. The X-Ray mode is a way to solve it. With X-Ray, you can disable inlay hints and all the other additional information or enable them only partially to the point where you feel comfortable. In this lightning talk, Maciej discussed both these features.
Running Scala on AWS Lambda as a native-image - Artur Opala and Michał Porażko
The next speech summarized over a year of experience building AWS lambdas using Scala 3, scala-cli, and GraalVM. Artur Opala and Michał Porażko presented the open-sourced library providing custom lambda runtime developed for that purpose.
Shaping the Clouds - Introduction to TypeOps - Łukasz Biały and Michał Pałka
Last but not least for the day, Łukasz Biały and Michał Pałka introduced a fresh approach to system design – TypeOps – in which the application and infrastructure layers are fused to provide unprecedented safety and productivity for Scala teams. TypeOps leverages the compile-time guarantees of strongly-typed languages to prevent incidents during deployments by enforcing a wide selection of invariants.
Łukasz and Michał showed how to fully embrace the operations world by treating Scala applications as strongly-typed Pulumi resources. The result? A true “if it compiles, it works” experience applied not just to code, but to entire systems.
Type Safe, Party hard
Although the last presentation of the day ended, it was not time to sleep but to enjoy a delightful afterparty. Speakers, attendees, sponsors, and organizers reunited at the Arco club, where bowling, feasting, and drinks awaited.
Scalar 2025 summary - day 2
After a great first day and integration, we all showed up in a great atmosphere on the second day of the conference. And there was a lot to look forward to: another 12 informative presentations from top Scala professionals and enthusiasts from around the world.
Scalable Onboarding: Easing New Members into a Scala Codebase - Piotr Zawiła-Niedźwiecki
A strong opening was a presentation by Piotr Zawiła-Niedźwiecki, who took us through coding and design practices he’s developed over the years while onboarding new graduates into the world of Scala. He also explained how he made the process easier for people with little Scala experience beforehand.
'Having my own track record in teaching Scala to junior engineers, I was eager to hear how that worked for other people. I was happy to learn that Piotr's approach was, in many aspects, very similar to the one we took at SoftwareMill Academy.'
Jacek Kunicki, Principal Software Engineer
Scala Sampler for Functional Soundscapes - Johanna Odersky
The following speech was not just a transfer of knowledge but live composing and a concert all in one. Johanna Odersky presented how functional programming can inspire creativity with the Scala Sampler, a digital music instrument developed for the Sounds of Scala web audio library. This talk showcased how Scala is as much a medium for artistic expression as it is for software development. The volume of applause and the smiles of the listeners testified to how much they enjoyed the resulting music.
'Since I'm an amateur guitarist who struggles to understand a bit of music theory, I found Johanna's talk very entertaining and at a just-right level of detail. It was mind-blowing to learn how much math was included in Bach's compositions and that a canon could be composed by writing the notes on a Möbius strip.'
Jacek Kunicki, Principal Software Engineer
Programming a Language - Nicolas Rinaudo
Johanna’s talk wasn’t the last where we saw the combination of technology and creativity. Nicolas Rinaudo showed us how to create a programming language from scratch. Watch the recording and gain a deeper understanding of your tools. It will also teach you what you need to write powerful DSLs, which, according to Nicolas, can be an absolute game changer.
Automating template management process with Scala 3 and Iron - Magda Stożek
Magda Stożek, our Senior Scala Developer, shared the success story of a project we delivered for one of our clients. As a team responsible for integrations with external communication providers (SMS, emails, etc.), one day, they realized that a huge chunk of their work revolved around managing changes to templates.
That meant:
- handling other teams' requests to add or alter them,
- testing them thoroughly,
- ensuring correct timing and delivery,
- storing in different data stores,
and making sure everything worked seamlessly with various external providers.
This took time and effort, and it was easy to make a mistake, causing incidents in production. The team decided it was time to automate it. Watch the video and learn how Magda and her team used the Iron library and features from Scala 3 to build a solution that is safer, more robust, and easier to maintain.
Tagless Final for Humans - Noel Welsh
The tagless final is an amazing tool that allows for incredibly expressive code, but it can also be a source of significant complexity and frustration. How can we leverage its strengths while minimizing its drawbacks? Noel, who spent a decade writing a library using tagless final, addressed the above question and explored real-life examples that show when the tagless final approach is the most useful.
'It totally resonated with my own experience that we often overengineer our Scala codebases by introducing tagless final everywhere. Noel made a clear distinction between cases where tagless final is desired, i.e. where you're likely to switch effect systems in the same codebase (like in libraries), and cases where it introduces unnecessary cognitive load (like in business applications) - since you're only going to use IO anyway.'
Jacek Kunicki, Principal Software Engineer
What does the functor do on the tree? - Michał Pawlik
Every season is great to take a walk in the woods. Many people use this opportunity to slow down, relax, and maybe spot some wildlife. However, during such walks, Michał Pawlik thinks about… tree traversal strategies. So it’s not surprising that in his talk, Michał demonstrated how to model a tree structure in Scala, take both imperative and functional approaches to tree traversal algorithms, and do some ASCII art at the same time.
Bazel: Do We Really Need Another Build Tool? - Jarosław Ratajski
With sbt, Gradle, Mill, Maven, and more, the Scala ecosystem is already crowded with build tools. ‘Each has huge potential to make developers angry, each in a different way.’ That’s exactly why Jarosław Ratajski introduced us to Bazel, diving into its core concepts and the features that make it stand out from the rest. He also explored some of the common pain points Scala developers might encounter when working with Bazel – and how to tackle them.
Better Scala builds with the Mill build tool - Haoyi Li
Another speech, another build tool being introduced. Haoyi Li presented the advantages of Mill and contrasted them with SBT, proving that the newer tool does everything SBT does, but faster, easier, and better.
'Since the beginning of my Scala journey, I’ve been using SBT as my primary build tool. It’s actually the mainstream choice, but Mill seems to be a great alternative worth trying. I was really impressed by the pace at which Haoyi Li presented and by how the logic behind Mill aligns with functional programming principles. I’ll definitely try it in my next Scala project, as it seems to be a simpler, faster, and lighter approach.'
Sergiusz Kierat, Senior Scala Developer
Durable Event-sourced Workflow Monad... Seriously! - Wojtek Pituła
Tired of relying on bulky 3rd-party servers to manage workflows or building lightweight but ad-hoc solutions yourself? Imagine a library that offers a declarative, composable API requiring only a database to run. Sounds great? That is why Wojtek walked us through how workflows4s works, how it stands apart from tools like Temporal or Camunda, and why it might be the better approach for modern, event-driven applications.
From Zero to Production Faster Than Your Average Meeting with Pillars - Raphaël Lemaitre
Building production-ready backend services in Scala can be a daunting task, often requiring the integration of multiple libraries and extensive boilerplate code. But what if you could streamline this process and focus entirely on your business logic? In this dynamic live-coding session, Raphaël Lemaitre demonstrated how Pillars can take us from zero to production in record time and how they handle complexities of setting up observability (traces, metrics, and logs), database access, API calls, and feature flag management.
All the projects I didn't finish, and why it was worth it - Jakub Kozłowski
In this talk, Jakub Kozłowski discussed several projects he started but never completed and how their legacy affected other projects in the ecosystem. His talk is a collection of juicy experiences and lessons learned from more than a decade of work in Scala. Don’t hesitate to watch the recording!
'This was a perfectly inspiring talk for the end of the conference. Kuba showed a couple of projects that he failed to finish - each for different reasons, and each taught him some valuable lessons. It clearly showed what we sometimes forget - that even when the project fails, it changes us a little bit. And when we take the time to analyze and learn from it, it doesn’t seem like a waste of time anymore.'
Magda Stożek, Senior Scala Developer
How Scala is made and how you can help - Krzysztof Romanowski
In the last talk of our conference, Krzysztof Romanowski explained the inner workings of an organization that goes into releasing, maintaining, and developing Scala and the core parts of its ecosystem. He discussed what those parts are, what problems the team of teams face, and what you can expect in the future. Later, Krzysztof focused on ways to support the ecosystem, which was an interesting and inspiring ending to our conference.
And that was it - the conference was over. However, some participants took part of it home with them.
I am back home! But I took a bit of Scalar with me :) pic.twitter.com/JAqw15QFgR
— Mateusz Kubuszok (@MateuszKubuszok) March 29, 2025
Summary
At this point, we would like to thank the event's sponsors and partners: JetBrains, VirtusLab, ScalaCenter, ScalaWAW, and Scala Times. This year's edition was one of the best so far. We hosted 26 brilliant speakers and gathered more than 280 attendees, creating space for networking and exchanging ideas. And guess what? We're already thinking about Scalar 2026! Sign up for our newsletter so you don't miss information about the event.
We upload conference speeches regularly to our SoftwareMill YouTube channel. Subscribe and don't miss out: