Scala is one of a handful of programming languages that got its start in academia, but which really took off in industry. I built my early career focusing first on parallel and distributed computing in Scala. But as the language grew in popularity, it began to outgrow its humble beginnings in the lab, and I ended up on the ride of a lifetime, wearing every hat imaginable, trying to help it succeed along with many many others.

In this talk, I’ll take you on the journey as I experienced it, beginning as a PhD student in a signal processing and machine learning lab who had this wonky idea to distribute convex optimization problems, leading me to quit that lab, and to join the “Scala lab” and begin a PhD from scratch in programming languages– an area I had no experience in, and no clue about. Next thing I know, I’m the “documentation czar” writing all the documentation for the language and standard libraries while trying to get my research in parallel/concurrent/distributed programming off the ground, and while fixing compiler and library bugs along with my lab mates as engineers at Twitter report them. The rest is a blur– publishing research papers, trying to help this obscure Berkeley research project called Spark run more reliably on Scala, making websites, having my jargon Scala slogans stolen by the HBO TV show, Silicon Valley, and flying around to industry tech conferences. Throw in a couple of giant MOOCs, a popular open source asynchronous programming library, and the formation of an open source foundation for supporting the Scala open-source ecosystem, and those are the highlights of my part of the Scala story.

I’ll take you through the trajectory of my research in parallel, concurrent, asynchronous, and distributed programming, with the Scala calamity interspersed throughout, and to where we are taking our research at CMU and Two Sigma now, after I disembarked from the Scala coaster.