Skip to content
AgileLogics
5 min read

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, and Either instead of null and 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.