Discord moved backend development for its entire engineering org off local MacBooks and into Coder cloud dev environments — and Apple's M1 set the deadline.
Discord planned a three-milestone move off MacBook development — then Apple changed the silicon and set the cutoff date for them.
Discord’s backend engineers built and ran the backend stack locally, on their MacBooks. When the company decided to move the entire engineering org onto Coder — cloud development environments that replace the laptop as the place code runs — the plan, in the team’s own deliberately simplified telling, had three milestones.
First, solidify the experience: the default environment should “just work.” Second, increase broader adoption: small tests with developers, representative feedback, then an open beta. Third, a hard cutoff: solid docs, wider training, support channels, and fully deprecating backend development on MacBooks.
REQS
What the new environment had to do
The build-out started with what the team called the “easy” work: creating the dev container, installing system dependencies, setting up user accounts, permissions, and the software engineers already relied on. Investing early in their own automation kept feedback loops fast, which mattered for velocity.
They called it “easy” with a wink, because migrations like this are not just technical problems — they’re largely people problems. The real requirements were human ones: understand what experiences people would be missing, what they would need to learn, and where they would feel the most pain. So the team conducted interviews, gathered early feedback, and dogfooded the environment themselves.
ROLLOUT
Champions, betas, and a bet on opt-in
To spread adoption, the team recruited “champions” — engineers across departments who were enthusiastic about tooling — to test the environment and feed back regularly. Because their day-to-day development loops were so different from each other, they surfaced a wide range of issues, and the team worked closely with these beta testers to fix them: benchmarking build tools, running network load tests, and making sure the most common development loops stayed functional and efficient.
Underneath the rollout was a bet: build a tool compelling enough and developers will adopt it on their own. The team knew a hard cutover date would eventually be required — there will always be some who resist change — but they aimed for an experience good enough that people would switch voluntarily. They nudged engineers toward Coder whenever their MacBooks had issues, and a reassuring number chose to experiment with the remote environment on their own.
THE CALL
Apple Silicon forces the date
Then Apple shipped the M1, its ARM-based silicon, and new M1 laptops started arriving in developers’ hands. Discord found several issues running its backend stack on the new hardware. Rosetta emulation worked for some applications — but not all.
Because of that, the decision made itself: the team fast-tracked milestone three, deprecated macOS-based backend development, and chose an accelerated timeline for the transition.
OUTCOME
A people problem with a technical core
Discord’s own retrospective framing is telling: the dev container, the dependencies, the permissions — that was the “easy” part. The work that determined whether the migration succeeded was interviews, champions, dogfooding, and support — understanding where an org’s worth of engineers would feel pain and meeting them there.
An org-wide migration is a people problem with a technical component — win most engineers with a genuinely better experience, but schedule the hard cutoff anyway, because the last holdouts only move when the old road closes.
A plain-language, AI-drafted and human-edited retelling of the article published on discord.com, reorganized and explained in our own structure and words, with original analysis in the editor's note above. The facts, numbers, and decisions belong to the original author and are not altered. For the full depth, read the source.