Start with a great Scala tutorial and progress to more advance topics
Scala at light speed by Rock the JVM (Scala Tutorial - Scala at Light Speed) . This will give you a brief introduction to the Scala language.
When you feel comfortable with what you have learned from the previous tutorial you can test your knowledge with some Scala exercises.
Don't worry if you can't solve all the exercises. The goal here is to give you a glimpse of what the language can do.
Take a full Scala course, this will teach you introductory to advance topics in Scala.
At this point you can comfortably go back to the Scala exercises above and trash them all. Trust me you can.
Scala Standard library exercises
Contribute to small open-source Scala projects: Votee, Slagora etc
Get familiar with testing frameworks (ScalaTest, ScalaCheck) and SBT basics
Before you start writing backend app you need to understand the core concepts behind a backend. For a start you should focus on RESTful APIs as they are the easiest to understand and most common. When you feel comfortable with REST APIs you can start learning about GraphQL APIs and maybe gRPC APIs. For a start the following tutorial series will be helpful.
After you have gotten to know the language and spent a good amount of time writing small programs in it, it would be a good idea to learn Scala Play Framework – you can make use of the official documentation on Getting Started with Play Framework. Below are some great resources
When you are comfortable with Scala Play, it's time for you to learn more advanced topics. Play is powered by Akka and you should probably know this by now. However, Akka is such a powerful toolkit with so many libraries which are a must know if you want to become an advanced Scala developer. Reading through the docs should suffice however you can contact me at ludovictemgoua.com in case you are facing some difficulties. Below are some Akka tools you should know.
For real life applications, you'll probably need to know some persistence framework. Slick and Doobie are popular choices for SQL and Reactive Mongo for MongoDB. And again - the official docs will do just fine.
By Now you should be comfortable with what Scala developers call the Lightbend Stack (The company behind Play, Akka etc) and it's time for you to have a look at Functional Scala. If you want to educate yourself in functional programming, you'll find 'Functional Programming in Scala' (the Red Book) and 'Book of Monads' both of which explain the general concepts from the ground up.
After learning about Functional Scala, it's time to dive into the Type level Stack the following libraries are worth learning
Now for the final touch the new trending Scala ecosystem for Functional Scala which is none other than ZIO. I recommend learning ZIO as most modern Scala startups tend to prefer it over the Lightbend Stack. Scalac and Ziverge have great resources about ZIO
Last but not least, follow and read some good functional programming / Scala blogs and watch some videos. Below are some examples
I am a Software Developer, Open Source enthusiast and Freelancer. I am passionate about Scala, Microservices & Full Stack Web Development. I'm open for Freelance and Student mentoring.
Phone: +237 699-131-434Email: [email protected]