July 20–24, 2015
Portland, OR

Scala at scale at Twitter

Travis Brown (Twitter, Inc.)
1:40pm–2:20pm Wednesday, 07/22/2015
Scale E145
Average rating: **...
(2.89, 9 ratings)

Prerequisite Knowledge

Some knowledge of JVM build tools, Git and GitHub, and the Scala language and community will be useful for context but not essential.

Description

Twitter maintains millions of lines of Scala code in hundreds of projects, dozens of which are open source. While Scala is a powerful language that combines the type-safety and performance of languages like Java with the concision and clarity of dynamic languages like Ruby or Python, it’s also a remarkably flexible language, and this flexibility poses a particular set of challenges for a codebase at Twitter’s scale.

This talk will focus on how Twitter has negotiated Scala’s hybrid nature, using ideas and idioms from the functional programming side, while also ensuring that engineers coming from object-oriented backgrounds can be productive at every level of the codebase. It will look at how Twitter maintains a reasonably consistent Scala style and culture across teams through documentation, code review, and tooling, as well as how Twitter’s use of Scala has changed over time, both stylistically and semantically.

The talk will also address Twitter’s policies around the adoption of third-party open source Scala and Java libraries and testing frameworks, our evolving use of different build tools for the Java Virtual Machine, and our experiences with upgrading through several major versions of the Scala language.

Photo of Travis Brown

Travis Brown

Twitter, Inc.

Travis Brown is a Scala developer and open source advocate at Twitter.