Scalability: How Duolingo Redesigned Its Session Generator
An introduction to system scaling techniques, using Duolingo as a real example of a company who had to apply these techniques as they acquired more users. In this presentation, I introduce the importance of learning how to scale and the notions of vertical and horizontal scaling with examples. I then explain how Duolingo's Session Generator had built up a lot of technical debt, and the methods they used to improve its performance, while relating them to the techniques discussed in the introduction. I also expand upon the performance aspects of individual programming languages. Finally, I explain some common misconceptions about system scaling.
Project Members: Arianna Lanz