finds.dev

twitter/scala_school

Lessons in the Fundamentals of Scala

View on GitHubHomepage ↗

★ 3,684HTMLApache-2.0updated Apr 2023

// the take

A set of Scala lessons originally written by Twitter engineers for internal onboarding, covering basics, collections, pattern matching, type system quirks, concurrency, and a walkthrough of Finagle/Thrift via a toy search service called Searchbird. It's aimed at developers who already know Java or a similar language and want a structured path into Scala's weirder corners.

The progression is genuinely pedagogical rather than a grab-bag of snippets - it builds from syntax to collections to the harder stuff (implicits, variance, pattern matching) in a sensible order. Searchbird is a full, runnable mini-service with config, tests, and a Thrift interface, so you see Scala used in something resembling a real system instead of REPL one-liners. The dedicated Java interop lesson (lesson_7) covers a topic most Scala tutorials skip entirely. It's been translated into Korean, Russian, and Chinese, which says something about how widely it was actually used as a teaching resource.

The Scala and sbt idioms throughout predate sbt's file-based build format and Scala 3 entirely - no given/using, no enums, none of the syntax changes that define current idiomatic Scala, so a learner picks up habits they'll need to unlearn. The Finagle/Thrift material documents an old-generation Twitter stack; most Scala shops today are on cats-effect, ZIO, or http4s, none of which get a mention. The site build depends on Jekyll plus RedCloth for textile rendering, a Ruby toolchain that's itself fragile and unmaintained in 2026, so even reproducing the build is friction. Despite a 2023 push, there's no sign of substantive content updates since the original lessons were written, so treat this as a historical artifact rather than a currently-maintained course.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
3,684
Forks
1,090
Language
HTML
License
Apache-2.0
Last commit
10 Apr 2023

// nearby

If scala_school isn't quite it.

All repos →