- Install IntelliJ + Scala Plugin
- Don’t do the Coursera courses yet.
- Don’t do the “red book” Functional Programming in Scala yet.
- Do: http://underscore.io/books/
- Essential Scala
- Essential Play
- Essential Slick
- Do Scala for the Impatient: https://www.amazon.com/Scala-Impatient-Cay-S-Horstmann/dp/0321774094
- The Neophyte’s Guide to Scala http://danielwestheide.com/scala/neophytes.html
- Write Scala code for a few weeks/months.
- Do pair programming with experienced Scala devs.
- Install and configure scalafmt http://scalameta.org/scalafmt/
- Just focus on the code, not the style.
- Go to gitter channels, people are really nice there.
- Akka
- Read about SBT (but not too much)
- Keep your build.sbt simple, the less, the better.
- Install ammonite
- Stop using IntelliJ compiler, it’ll eventually lie to you. Always compile on SBT.
- Start reading the “red book” https://www.manning.com/books/functional-programming-in-scala
- Don’t throw Exceptions, use ADTs, Either
- Do Advanced Scala with Cats (underscore)
- Keep reading the “red book”
- Keep and eye on: Functional Programming in Scala for Mortals
- Functional and Reactive Domain Modeling
- Keep reading the “red book”
- Read more blogs, twitter about Scala.
- From time to time, they will fight, just ignore them.
- read.andThen(practice).recoverWith(read)
- If you have plenty of time do the Coursera Courses (not sure if it’d worth it)
Read more about FP, Cats/Scalaz, Akka Streams, Monix, CQRS, and all the cool libs/patterns out there.
Update: 2017-08-01: Added Scala for the Impatient https://twitter.com/d1egoaz/status/892564253751758848