When a rewrite isn’t: rebuilding Slack on the desktop - Slack Engineering
Conventional wisdom holds that you should never rewrite your code from scratch, and that’s good advice. Time spent rewriting something that already works is time that won’t be spent making our customers working lives simpler, more pleasant, and more productive. And running code knows things: hard-won knowledge gained through billions of hours of cumulative usage and tens of thousands of bug fixes. Still, software codebases have life spans. The desktop version of Slack is our oldest client, growing out of a period of rapid development and experimentation during the earliest moments of our company. During this period, we were optimizing for product-market fit and in a constant sprint to keep up with our customers as their use — and expectations — of the product grew. Today, after more than half a decade of hyper-growth, Slack is used by millions of people with larger companies working with more data than we ever could have imagined when we first started. Somewhat predictably, a few inter
When a rewrite isn’t: rebuilding Slack on the desktop | Engineering at Slack When a rewrite isn’t: rebuilding Slack on the desktop – Engineering at Slack Skip to main content July 22, 2019 Updated: June 23, 2020 10 min read When a rewrite isn’t: rebuilding Slack on the desktop A new version of Slack is rolling out for our desktop customers, built from the ground up to be faster, more efficient, and easier to work on. Mark Christian Principal Engineer Johnny Rodgers Principal Engineer Photo by Caleb George on Unsplash Search Latest Posts July 14, 2026 15 min read Shipyard: How We Built Sl
related reading
- We Don’t Sell Saddles Here. The memo below was sent to the team at… | by Stewart Butterfield | Mediummedium.com
- Gantry: Slack’s Fast-booting Frontend Framework | Engineering at Slackslack.engineering
- Code was our medium for thoughtwattenberger.com
- Things You Should Never Do, Part I – Joel on Softwarejoelonsoftware.com
- Shipping at Inference-Speed | Peter Steinbergersteipete.me
- A Bunch of Programming Advice I'd Give To Myself 15 Years Ago | Marcus' Blogmbuffett.com
- How our biggest redesign yet came to be • Slack Designslack.design
- claude code is not making your product betterethanding.substack.com
- How our biggest redesign yet came to be • Slack Designslack.design
- Mistakes engineers make in large established codebasesseangoedecke.com
- Thoughts on slowing the fuck downmariozechner.at
- Write code that is easy to delete, not easy to... — programming is terribleprogrammingisterrible.com