Scala: It doesn’t have to be scary

I have recently started my first job as a a Junior Software Engineer. It comes, of course, with a new set of challenges but I am particularly excited at the prospect of the steep learning curve that awaits me and the invaluable opportunity to learn from my more experienced peers. Within my team, many of the existing applications have been written in Scala, a language to which I have had no prior exposure. Alongside a number of other learning objectives, I have set myself the challenge to teach myself Scala in my spare time. This learning process will, I expect,  be expedited through continued exposure to the language through pair programming and mobbing with the rest of my team.

I have carefully planned my approach and, having researched what is available, have identified the resources that I will be using. These are as follows:

Online Resources

  • Functional Programming Principles in Scala on Coursera

functional-programming-principles-in-scala

The first and most famous resource and the suggested starting point by those in the know, is the is the online class “Functional Programming Principles in Scala” taught by Martin Odersky. Odersky is in fact the designer behind Scala, so it is perhaps not surprising that his course is so highly regarded. The course itself  is seven weeks long. In this relatively short time-frame, it provides an overview of the language and an introduction to the principles behind functional programming and how these can be applied using Scala.

Principles of Reactive Programming  provides a a good follow-up.

  • The Official Scala Documentation

scala-documentation

When learning a new programming language, it is always sensible to incorporate the official documentation. The official Scala documentation is actually quite useful. It incorporates several guides and tutorials specifically targeted towards developers who have an existing knowledge of either Java, Ruby or Python and are seeking to transfer over to Scala. It is a useful accompaniment to the Coursera classes.

  • Twitter’s Scala School

scala-school

As one of the driving forces behind Scala’s popularity and as one of the most powerful companies promoting the continued development of the Scala ecosystem, Twitter has also produced some of the most useful resources for developers seeking to learn the language. It has created its’ own Scala School, which covers all the main features of the language.

  • Scala Koans

Scala Koans aims to teach Scala through the process of fixing errors and learning more about the language and programming principles it enforces.

  • Scala Community

scala-community

The Scala community continues to  grow. Arguably the the best way to learn a new programming language is  engage with the community of other developers and learners who are using the language. The Scala-lang website has a great list to check-out.

Other Resources

  • Programming in Scala by Martin Odersky, Lex Spoon, and Bill Venner

Programming in Scala provides great insights on the language features with detailed examples.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s