We use cookies to make your experience better.
About 1000 developers build Dropbox’s capabilities for flexible, reliable, secure file syncing and storage. Dropbox gained its fame as one of the biggest providers for cloud file management on the planet, helping 700 million users share and store files in the consumer, professional, and enterprise markets. Matt Kulka is an Infrastructure Software Engineer at Dropbox. In the past he’s helped big companies like Facebook and PayPal with operations, devops, and software engineering. He and the five other members of the Dropbox Developer Environments team are responsible for providing and managing the developer infrastructure. We talked to Matt about the challenges of keeping 1000 developers productive and happy.
Matt’s team provides developer environments as VMs running in AWS EC2. Each developer gets their own EC2 instance. They use GitHub for version control. For IDEs, most developers use JetBrains or Visual Studio Code.
The environments come in 2 major flavors: One for Linux, the other for Windows. While both run on AWS EC2 they each use different AMIs and other configurations. From there, the engineers can customize their environments. Matt described the 4 major kinds of environments that Dropbox developers work with:
Prior to Coder, Dropbox used an in-house solution to provision development environments. But there were some drawbacks:
Dropbox needed a tool that was flexible enough to handle their wide array of development environments and make 1000 development environments easy to manage.
To evaluate a few solutions, the Developer Environments team assigned two people, Matt and a colleague. They discovered that some solutions weren’t platform-neutral, requiring Dropbox to lock into walled networking environments. Others were not yet mature or didn’t have the right mix of features. Coder met Dropbox’s requirements without imposing these limitations:
With Coder as the winner, Matt and his teammate needed to migrate 1000 developers. They did it in three major phases:
Since then, Dropbox has steadily improved developer experience:
With the transition to Coder complete, Dropbox is looking forward to leveraging more of its advantages. The time spent on maintaining and extending their in-house platform is now spent on improving developer productivity. Coder has also opened new opportunities, like making better use of their on-prem GPU computing. With 1000 developers and a growing variety of development environments, the Dropbox Developer Environments team is letting Coder spin those plates while they work on more interesting things.
Enjoy what you read?
Subscribe to our newsletter
By signing up, you agree to our Privacy Policy and Terms of service.