· scala self-study

My Path to Learning Scala

Scala


I recently joined a new data engineering team at DigitasLBi and Scala is the predominant language being used. Having never coded in this language, I sought to quickly learn it and wanted to share the numerous resources I came across and bookmarked.

The first place I usually turn when learning something new is to complete an introductory online course with videos and exercises. The most popular course for Scala is Functional Programming Principles in Scala on Coursera and it is taught by the inventor of the language (Martin Odersky), so I gave it a whirl. After trying it out for a few weeks, I don’t recommend it for learning the language. If you need Scala for work as I do, taking this course will be very inefficient. You will end up spending a lot of time and effort while gaining very little in practical terms. It’s extremely heavy on theory around functional programming and if you want to use the language for building useful things, it’s unlikely that understanding applicative functors will be crucial for finishing the project. Having said that, it’s worth investing some time in learning basic functional features like pattern matching and currying, because it will make you more productive right from the beginning. I mention the course here as a helpful reference, but I found a different online course - Scala Essential Training - to be more in line with what I needed to do - learn Scala quickly to apply it on the job.

Cheat Sheets

Scala Reference Guide
Scala Cheat Sheet

How to Learn Scala

This article has a great compiled list of Scala resources to kickstart your learning.
blog.codacy.com/how-to-learn-scala

AllAboutScala
Scala Exercises
ScalaFiddle
Scala School
A Tour of Scala
Transitioning to Scala from Another Language

Style Checker

Scalastyle examines your Scala code and indicates potential problems with it.
www.scalastyle.org

View my code on GitHub


About Me

I'm a senior software/data engineer working in the marketing/advertising industry. I build backend applications and tie together disparate data sources to help industry-leading brands make smarter, data-driven decisions towards reaching their target audiences through media. LEARN MORE >>



comments powered by Disqus