For many years, I considered myself a language-agnostic software developer, as I always prioritized mastering the fundamentals and learning new concepts over “playing favorites” when it comes to programming languages. Over the course of my 15-year career, I’ve written thousands of lines of code across many languages (e.g., Java, Scala, Go, etc.). It wasn’t until I mastered Go that I realized: picking the right language matters. I became a true loyalist; today, it is easily my favorite language. Its simplicity and elegance, coupled with its powerful concurrency paradigm, make it perfect for the next generation of distributed services.
As Li Haoyi noted, Scala is a complex programming language that offers a multitude of APIs to solve the same problem. When I first started my Scala journey, I was often confused on which API was the correct one to use for a given task. Did my code use idiomatic Scala techniques? Is it readable? After spending a few years studying the language and interviewing top Scala developers, I’ve finally cracked this code. Here, I break down a few essential tools/tips to becoming a master Scala developer.
Data Engineering Consultant