Tagged allows people to connect and meet each other on a global scale every single day. As part of this social discovery mission, we must create smart algorithms to process the data from our millions of users. Scala is a technology that helps our team tackle this challenge.
Scala is a functional object-oriented language and the driving technology behind Tagged’s PeopleRanker: people relevance scoring, models and algorithms. It can be a huge benefit to projects that focus on analyzing, transforming and processing collections of data.
Scala helped us build a rapid pipeline for building, training and deploying models. Its functional nature enables our engineers to smoothly transform ideas and algorithms to production code. Scala has turned out to be useful for standard web services as well. As a language, it is very concise and the compiler offers strong type inference, offering a seamless experience when working with collections and functions.
Because Scala runs on a JVM, we can also import our existing Java libraries, external packages like Trove, Guice and Jersey, and also use native IO. Scala “convertors implicits” make it easy to work with Java types as if they were Scala.
There are a few pitfalls to Scala, notably the more complex syntax and slow compilation time. However, my team’s experience has shown that it was easier for our engineers to transition from Java to Scala than go back to Java after working in Scala. The syntax and conciseness of the language are addicting and make previous Java patterns feel clunky and obtrusive.
The best example of how Scala has helped Tagged be more productive can be seen in our MeetMe application. We are now able to train models in the afternoon and have them run in production the next morning, serving recommendations to millions of users from our Scala-based server.
For a more in-depth look at Scala, check out the below video of my recent Tech Talk:
Michael Terkowski is a People Algorithms Engineering Manager at Tagged. When not obsessing over Scala, he teaches and performs dance, plays rock guitar and enjoys Battlestar Galactica.