Why should you learn Scala?

By Nadim Bahadoor | Last updated: January 28, 2020 at 7:09 am

Overview

 

In the previous tutorials, we've provided an overview of the Scala programming language, and briefly covered some of its core features. But, why should you even bother to learn Scala? Is there mainstream adoption of the language? What about its code base - who is involved at maintaining and evolving the language? Can I get a job learning Scala? And, I'm sure that you most certainly would have many more questions at this point, and especially if you are just starting out to learn Scala. Let me therefore share some additional thoughts on of the abovementioned questions.

Steps

1. Scala GitHub Repository

 

Before we proceed further, it would be good to remind ourselves that Scala is a multi-paradigm programming language which brings together Functional and Object Oriented programming. It goes without saying that we should all take this opportunity to thank Dr. Martin Odersky for not only creating Scala, but for continuously moving the language forward! With that said, you would be pleased to note that at the time of writing this tutorial, there were nearly 450 contributors on the GitHub Scala repository. In addition, the repository has received more than 10,000 stars and has been forked nearly 3000 times! So yes indeed, the language is actively being maintained, and has strong community support.

01-01-02-scala-github-repository

NOTE:

  • If you are new to programming in general, it is easy to get confused with GitHub and Git version control. GitHub is a popular online repository where you can view and contribute to a wide variety of open-source projects. Git, however, is a version control similar to SVN, CVS or Perforce.

 

2. Scala ... Google Trends!

 

OK, so the Scala programming language seems to be well maintained, and has an active and wide list of followers. We can further gain a bit more insights regarding global interest over time for Scala using, say, Google Trends. As you would note, Scala’s popularity has moreover been steadily increasing over the years as shown by the Google Trends diagram below.

01-01-03-scala-google-trends

3. Who is using Scala?

 

The above diagram is a nice picture on the increasing interest in Scala over the years. But, which companies are using it? You may, of course, hear from various sources such as recruiting agencies, or even from your peers, of Scala's adoption in a number of FinTechs, start-ups, or Fortune 500 companies. For the purpose of illustration, though, we'll mention a somewhat public list of technology companies like Apple and LinkedIn, and even Tier 1 banks such as Morgan Stanely and UBS, from Scala's Wikipedia page.

4. What about Scala jobs and pay?

Given the above trends and popularity, how is Scala doing in the job market? We obviously cannot list all the current Scala jobs here, but as a proxy, we'll consider how it pays versus other technologies. To this end, we will use the most recent StackOverflow survey of 2019. Besides, the ranking of a particular programming language is itself an interesting exercise, and that is not the purpose of this tutorial. Instead, let us put forward some additional insights from the 2019 StackOverflow survey with respect to Scala's rapid growth. The great news is that it was listed as one of the Top Paying Technologies! More precisely, Scala was in the Top 5 under the global category as shown below.

01-01-04-scala-top-five-paying-technology

What is more, Scala was ranked 1st as the highest paid technology in the United States! Now, that is an incredible achievement.

01-01-05-scala-first-highest-paying-tech-usa

 

 

 

5. Learn, Learn, Learn

The above stats no doubt speak for themselves. As a big fan of Scala myself (yes, seriously!), and having used it in a number of real-world large scale systems, you will find a lot of the basics, and practical stuff to get you started with Scala through my blog. For a more concise, or fast-track, approach to get you up to speed with Scala, you can of course grab my Scala For Beginners book. Thanks also to your invaluable feedback, I am currently at the early stages of the second book which brings together a microservice architecture to serve a machine learning pipeline for stock prediction. And yes - you've guessed right - we make use of Scala and its ecosystem!

 

Whether you are an experienced programmer, or a data scientist, or a big data engineer, or a student, or just about anyone who enjoys programming, the best thinking is to take the first leap and get started! And, as a reminder, you will most likely find something to help you within your respective domain from the Scala ecosystem. As a reminder, the Scala ecosystem is ever-evolving, but the diagram below presents a great snapshot to this date.

01-03-01-scala-ecosystem

 

This concludes our tutorial on Why should you learn Scala? and I hope you've found it useful!

 

Stay in touch via Facebook and Twitter for upcoming tutorials!

 

Don't forget to like and share this page :)

Summary

In this article, we went over the following:

  • Scala GitHub Repository
  • Scala Google Trends
  • Who is using Scala?
  • What about Scala jobs and pay?
  • How to learn Scala?

Tip

  • If you are new to Scala or programming in general, don't forget to grab my Scala For Beginners book. You will even learn how to setup a Scala Multi-Project, which is an absolute must in real-world Scala projects.

 

Source Code

The source code is available on the allaboutscala GitHub repository.

 

What's Next

If you have gone through the previous tutorial as well as this one, you could now proceed to Chapter 1 which will be dedicated to getting familiar with the IntelliJ IDE for developing Scala applications.

Nadim Bahadoor on FacebookNadim Bahadoor on GithubNadim Bahadoor on LinkedinNadim Bahadoor on Twitter
Nadim Bahadoor
Technology and Finance Consultant with over 14 years of hands-on experience building large scale systems in the Financial (Electronic Trading Platforms), Risk, Insurance and Life Science sectors. I am self-driven and passionate about Finance, Distributed Systems, Functional Programming, Big Data, Semantic Data (Graph) and Machine Learning.
Other allaboutscala.com tutorials you may like: