Skip to content
LEARN
Learn
Explore
Roadmaps
Paths
Organizations
Contact
Start Learning
Roadmaps
Scala
Scala
Skill roadmap
Step-by-step guide to become a Scala developer in 2026
165 topics
Graph
Outline
Option
Monads
Error Handling
Object
Backend
Cats
Li Haoyi
Akka / Pekko
No Ecosystem
Platforms
Frameworks and Libraries
Learn the Basics
Early returns
GraalVM Native Image
Tail Recursion
Trampolines
Tools, Ecosystem & Platforms
Introduction
Concurrency
Cats Effect
ZIO
Distributed Computing
Pattern Matching
Build Tools
Spark
Pure Functions
Scope & Visibility
sttp
Play
AkkaHTTP
Effect Systems
Video game Engines
Ecosystems
Lazy vals
by-name Parameters
Lazy Collections
Pekko
Testing
Capabilities
Macros & the Type System
Docs
Courses
Setting Up Scala
JVM
Advanced Topics
Variance
Context Bounds
React.js
Monocle
Shapeless
Scalameta
Indigo
CosPlay
Laziness
private / protected
Recursion
for comprehension
Find the detailed version of this roadmap along with other similar roadmaps
Shout out to Maciej Gorywoda who helped make this roadmap.
roadmap.sh
LinkedIn Profile
Scala
Find Resources
Related Roadmaps
Books
YouTube
Main Data Types
Pick your IDE
Integers
Float
IntelliJ IDEA
Strings
Booleans
VS Code
Unit
Nothing
Secondary Options
Generic Types
Variables & Constants
Vim
Emacs
Type Hierarchy
Operators
Zed
Sublime
Type Parameters
Conditionals
Conversions
Class
Trait
Data Structures
Loops
Collections
Array
Range
Try/Catch
Functions & Methods
Seq
List
Vector
Functions & Methods
Case Classes
Set
Map
Method Calls
Sealed Traits
Mutable Collections
Anonymous Func / Lambda
apply Method
Total/Partial Funcs
Common Collection Methods
Enums
find
filter
Funcs returning Funcs
Case Objects
foreach
map
unapply Method
flatMap
foldLeft
Regex
collect / collectFirst
Working with Strings
What different items mean
A concept that connects multiple language features, helping you how they work together.
Either
Try
Links related concepts that are complementary or alternative ways of doing the same thing.
You don't need to learn advanced topics linearly, pick them as you explore libraries and frameworks
Iterators
Views
package
LazyList
Implicit Parameter
ZIO
Scala-centered
ScalaCLI
sbt
Mill
Common to JVM
Gradle
Maven
Scala Native
Scala.js
Referencial Transparency
Category Theory
Capture Checking
Typeclasses
Type System
Unit Testing
Macros
ScalaTest
JUnit
mUnit
uTest
ZIO Test
specs2
Integration / Performance Testing
Scalatra
ScalaTest
Gatling
Tapir
http4s
Web
Laminar
Calico
Slinky
GUI
Ox
Gears
FS2
Kyo
Desktop
Streaming
ScalaFX
JavaFX
Akka & Peko Streams
Android
ZIO Streams
scala-android-plugin
Scala on Android
Akka
Database
Data Handling
Doobie
ScalikeJDBC
Quill
Slick
JSON
LibGDX w/ Scala
PlayJSON
Circe
Jsoniter
uPickle
Chimney
Magnolia
Visit the following roadmaps to keep learning
Backend
Java
MLOps
Data Engineer
Mini Map
React Flow
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
Reset view
Related roadmaps
Java
skill
Data Analyst
role
Data Engineer
role
All roadmaps