Head of Dev & Scala Tooling at Virtuslab, Krzysztof Romanowski spends endless hours debugging and fixing Scala IDE, SBT, IntelliJ, and even the Scala compiler itself. For over 5 years he has been creating tooling for projects containing millions of lines of Scala source code.
What is your most favorite Scala Days story or memory?
During my first Scala Days (Berlin, 2014) I really wanted to talk to Jason Zaugg about my work on Expression Evaluator for ScalaIDE where I heavily used toolbox built-in into scala compiler. I discovered a few bugs and wanted to be sure if I am using the compiler correctly. Back then I had no idea what Jason looked like so I asked my friend to point me in his direction. I started talking about the compiler internals to this guy and he looked really puzzled. Turns out, I started speaking to the wrong guy before we both realized that I was looking for Jason! I love the fact that this person tried to understand what I was trying to say and asked a few questions, even though it was probably his first time hearing about the toolbox compiler. I love how open and involved the Scala community was and still is.
What’s your background and what does your current role involve?
I have been a Scala Developer form the beginning of my career and me have been using Scala on a daily basis for almost 8 years now. Initially, I was working as a backend developer and after 2 and a half years I switched to work in dev-tooling, and this is my specialization now. My career is closely related to VirtusLab where I started as a Junior Developer and 2nd employee ever hired and now I am a Head of Dev & Scala Tooling of the company that is over 150 people strong.
What’s the biggest highlight of your career so far?
I recall two such moments. The first one is when I was selected as a speaker for Scala Days in 2017. The second one is when I won a battle with compilation time that plagued my users (40+ minutes to compile the whole codebase). After a year of hard work on caching compilation artefacts, we were able to reduce that time to 6 minutes making compilation as short as a coffee break rather than an overnight affair.
Why did you choose Scala and what kind of problems does it solve for you?
Back in 2011-2012, Scala was the only language on the market that we can call modern today. Writing a Scala code is still fun and I am really productive with it. For me, Scala is a kind of paradox: as a creator of dev-tools, for me, Scala is both a problem to solve and a solution.
What is the biggest challenge Scala developers are facing today?
The most important challenge will be the migration to Scala 3. Hopefully, my team and I will be able to help our community here.
What can help address this challenge?
Tooling. We need top-notch tooling to make this migration as easy as possible. Goodwill and a bit of patience will help a lot as well.
Who should attend your talk at Scala Days and why?
Anyone who believes that many aspects of development can be automated. We’ve got Scala, JVM and amazing frameworks to do hard stuff inside our programs for us but when it comes to gathering knowledge about the project we only have our brains or manual labour to create documentation. I believe that we can automate building knowledge and expertise about our projects and, hopefully, I will be able to show you that we can start doing it today.
The only thing required to understand the problem is the experience of a bug in the code that took you a week or day to solve and it was either solved in past or you colleague was able to solve it in 5 minutes.
Whom would you like to connect with at the conference?
Scala developers. I would love to hear stories about their problems and think a bit if we can use or create tools to help them.