July 16, 2021 8 min read @Zac Sweers Extending Anvil for Fun and Profit Note: This article assumes some familiarity with Dagger, Anvil, and Kotlin. We use Dagger heavily in the Slack…
July 12, 2021 8 min read @Divya Kamath Managing Focus Transitions in Slack At Slack, we believe that designing an optimal keyboard experience is key to delivering a best-in-class product…
June 3, 2021 7 min read @Maria Sabastian How a Jenkins Job Broke our Jenkins UI Artwork courtesy of the Jenkins project. At Slack we manage a sophisticated Jenkins infrastructure to…
May 21, 2021 11 min read @Slack Engineering Role Management at Slack Controlling which users are able to take which actions is no simple task. Building this into Slack has always…
June 27, 2023 15 min read @Shreya Ramesh Load Testing with Koi Pond Complex systems are difficult to reason about at scale; we often can’t accurately extrapolate system behavior…
March 13, 2024 19 min read @Justin Rushing Client Tracing: Understanding Mobile and Desktop Application Performance at Scale A customer writes in and says the dreaded words: “My app is slow”. Here we go… Performance problems can be a…
June 21, 2021 13 min read @Ariane van der Steldt@Radha Kumari Migrating Millions of Concurrent Websockets to Envoy Slack has a global customer base, with millions of simultaneously connected users at peak times. Most of the…
November 22, 2021 8 min read @Zac Sweers Shadow Jobs We take developer productivity pretty seriously at Slack. It’s multi-faceted, spreading across build speed,…