Matt Anger is a software engineer at DoorDash, since November of 2019, where is primarily works on supporting the core platform. He holds a BS in comp

Migrating From Python to Kotlin for Our Backend Services

submited by
Style Pass
2021-06-05 15:30:05

Matt Anger is a software engineer at DoorDash, since November of 2019, where is primarily works on supporting the core platform. He holds a BS in computer science and math from the University of Wisconsin, Madison.

When DoorDash approached the limits of what our Django-based monolithic codebase could support, we needed to design a new stack that would provide a strong foundation for our logistics services. This new platform would need to support our future growth and enable our team to build using better patterns going forward. 

Under our legacy system, the number of nodes that needed to be updated added significant time to releases. Bisecting bad deploys (finding out which commit or commits were causing issues) got harder and longer due to the number of commits each deploy had. On top of that, our monolith was built on old versions of Python 2 and Django, which were rapidly entering end-of-life for security support. 

We needed to break parts off of our monolith, allowing our systems to scale better, and decide how we wanted our new services to look and behave. Finding a tech stack that would support this effort was the first step in the process. After surveying a number of different languages, we chose Kotlin for its rich ecosystem, interoperability with Java, and developer friendliness. However, we needed to make some changes to handle its growing pains.

Leave a Comment