What You Should Know Now — and What's Next
What You Should Know Now
- Values, types, type inference, and expressions that return values
- Methods, functions as values, and higher-order functions
- Immutable collections —
List,Vector,Set,Map— and their operations - Pattern matching,
Option,Try, andEitherinstead ofnulland exceptions - Classes, case classes, objects, traits, enums, and algebraic data types
- Generics, variance, and extension methods
- for-comprehensions, files, sbt, Scala CLI, and testing with MUnit
- Givens, type classes, and opaque, union, and intersection types
- Futures, effect systems, and concurrency
- JSON, web services, Spark, and shipping Scala to production
What Should You Learn Next?
- Functional programming in depth — Cats or ZIO, and the book Functional Programming in Scala.
- Data engineering — Apache Spark, Kafka, and Flink, where Scala is a first-class language.
- Haskell — the purely functional language that inspired many of Scala's ideas; learning it deepens your understanding of types and effects.
- Java — Scala runs on the JVM, and Java knowledge helps with libraries, tooling, and performance tuning.
- Kotlin — Kotlin, another JVM language, is common on Android and in teams that want a smaller step from Java.
Build Something
Pick a problem you care about — a data set to analyze, an API to build, or a tool you wish existed — and build it with immutable data, pattern matching, and tests. Publish it on GitHub and ask for a code review on the Scala community forums or Discord.