A Backend Engineer’s Day Inside Slack’s Messaging Stack

Madeline Shortt is a Senior Software Engineer on Slack’s Composition team, part of the larger Messaging engineering pillar. Her team owns the experience of composing a message — from formatting to file uploads to custom emoji — and she spends her days balancing feature work with deep infrastructure migrations. Here’s how that plays out, hour by hour.

Morning Coordination and Code Review

Shortt concedes she’s not a morning person. She starts the day by checking Slack from home, catching up with earlier risers on her team and scanning for overnight developments or releases that might shape the day’s work. After a commute from Bernal Heights into the San Francisco office, she settles in with a latte and a physical notebook for to-do lists. The first focused block of the day goes to reviewing teammates’ outstanding pull requests and answering questions in team channels.

Standup Across Time Zones

Standup happens at 10:15 a.m., with teammates dialing in from Vancouver, New York, and (soon) Toronto. The Messaging team is responsible for everything about how messages are stored, formatted, and experienced — the core of Slack’s product. Meetings are a chance to sync on the day’s work and resolve questions from the previous day. They frequently close with a fun fact, which Shortt says keeps the tone light. Her example: strawberries are technically “accessory fruits,” not botanical berries, and the Japanese name for the Pleiades constellation is Subaru — the car logo shows only six stars because the seventh isn’t visible to the naked eye.

Code Time and a Vitess Migration

By mid-morning, Shortt shifts into coding. She writes mostly in Hacklang, a language new to her before joining Slack, and cites strong VS Code tooling from the Internal Tools team as a major enabler. Her current favorite plugin is Bracket Colorizer 2, which colorizes matching bracket pairs to simplify navigation in a complex codebase.

One of her primary projects is a cross-functional migration of Slack’s messages table to a Vitess cluster. Slack has been moving some of its most important tables to Vitess to scale with large customers. For a product engineer, the goal is unusual: users should notice nothing. The project requires careful, calculated decisions and collaboration across the team to cover the entire message-sending, persistence, and rendering stack. Shortt notes it has been rewarding to partner with the Infrastructure team, combining Vitess expertise with product knowledge, though some final work remains.

Lunch and Afternoon Team Time

At midday, a rotating group from the broader Messaging engineering pillar goes to lunch together. Conversations that warrant follow-up get posted to a channel called #lunch-action-items — recent material has included a Twitter thread from Blair Braverman about her sled dogs.

Some afternoons, Shortt serves on interview panels for backend engineering roles. Slack has been working to make its interview process “the most representational and least stressful it can be.” Interviewing also gives her perspective: candidates’ questions remind her of the product’s broad impact, which is easy to lose sight of when focused on daily minutiae.

Heads-Down Work: WYSIWYG and Old Code

Afternoons are Shortt’s main heads-down coding window. The Messaging team balances new feature development with technical health and quality. One recently released feature is WYSIWYG (what you see is what you get) message formatting, which lets users format text as they type — bolding something bolds it in the input field before sending. Previously, messages were stored as markdown-formatted strings. The new format supports richer formatting, including intra-word bold that markdown cannot represent.

The feature is not solely client work; it required changing how Slack stores messages on the backend. Two design considerations stood out: backwards compatibility and future simplification. With hundreds of billions of existing messages and millions of users, older clients must still receive, read, and best-effort render newly formatted messages, and older apps must still be able to send the old format. To avoid supporting two formats forever, the team built a translation layer on the backend and planned to migrate all older messages through it.

Working in the Messaging pillar means owning features like file uploads, custom emojis, emoji reactions, and threads — core pieces of Slack. That’s exciting, but it comes with a catch: it’s not uncommon to encounter code written four or five years ago. The team’s work touches the very heart of the application, making careful, measured changes essential.

Wrapping Up

The day winds down around 6 p.m. Casual in-person discussions often fill gaps between sessions, touching on product questions, pull request comments, or new language discoveries. There is frequently a Susie Cakes appearance — “my team has such a ridiculous sweet tooth,” Shortt says — and occasionally someone in a T. Rex costume.

For Shortt, what makes the job energizing is collaboration. “While I love problem solving and writing elegant and high quality code, it’s really the people I work with and the team collaboration that makes me excited to come back every day,” she says. After logging off, she heads home to recharge — and, when she finds time, to ride ponies with her two cats, Stella and Orion, in Bernal Heights.