By Kavita Chodavarapu and Bryant Ung

Photo: Joshua Sortino

At Slack, Quality is a shared responsibility. The Quality Engineering team is focused on creating a culture of testing, increasing test coverage, and helping the company ship high-quality features faster. We encourage all our developers to write and own end-to-end (E2E) tests. In turn, Quality Engineering (QE) is responsible for the frameworks used and provides best practices for writing reusable, scalable, and maintainable tests.

In this post, we are going to walk you through our journey on how we came up with a reusable automation framework and some of the positive impact we have…


Photo by Josh Wilburne on Unsplash

*Prior to the COVID-19 outbreak and our current shelter in place orders in San Francisco.

7am

I’m definitely not a morning person, so when my alarm goes off, I can’t help but stay in bed a little while longer. I have two cats, Stella and Orion, who are especially cuddly in the mornings, so it’s hard to leave them and get out of bed. My cats are well known by my teammates as well as they make guest appearances in meetings whenever I’m dialed in and working from home. Because some of my teammates are much earlier risers than I am…


Photo by Ankush Minda

By Michael Deng and Jonathan Chang

Deploys require a careful balance of speed and reliability. At Slack, we value quick iteration, fast feedback loops, and responsiveness to customer feedback. We also have hundreds of engineers who are trying to be as productive as possible. Keeping to these values while growing as a company means continual refinement of our deployment system. We had to invest in greater visibility and reliability in order to accommodate the amount of work being done. This post will outline our process and a few of the major projects that got us to where we are.

How deploys work today

Every…


Photo by Farzad Nazifi on Unsplash

Keith Adams and Johnny Rodgers

Most new things in technology turn out to be fads: patterns of talking and doing that come and go without leaving a permanent mark. Microkernels; EPIC architectures like IA-64; object request brokers; and 1990s’-style neural nets are gone, and will not return. Sorry for the deep throwbacks; only time proves which things are fads, so for uncontroversial examples we have to reach pretty far back.

While it is hard to imagine today — at their height — all of these defunct technologies were wildly popular, with charismatic, sincere, and smart advocates. They were supported by…


A yarn swift used to help wind yarn into balls.
A yarn swift used to help wind yarn into balls.
From Soraya García on Unsplash

6:45am

The sound of coffee grinding wakes me up 15 minutes before my alarm. I’m not a morning person, but I always stumble bleary-eyed into the kitchen for some toast and coffee with my partner, which is my favorite daily ritual. I sit down, listen to my morning news podcasts — The Daily and AM Quickie — and check my phone for any Slack messages I might have gotten from coworkers in other timezones.

8:08am

I run out the door to catch the Transbay bus, one of the more pleasant ways to commute. I knit a few rows of a blanket I’m…


Photo by Alina Grubnyak

By Yingyu Sun and Mike Demmer, with contributions from the Shared Channels Team

Slack was originally built to be the collaboration hub for the work within your company. As the network of companies using Slack for internal work grew, we saw the value of allowing different companies to collaborate together in one channel.

We’re now making shared channels available to all customers! A shared channel is one that connects two separate organizations. You no longer need to go back and forth between external emails and internal Slack channels, or provision an endless number of guests into your Slack workspace: A…


by Ryan Slama and Matt Dzwonczyk

The Slack Internship — Matt’s First Time at Slack

I’m Matt and I’m a senior Computer Science student at North Carolina State University in Raleigh, NC (Go Pack!). In my free time I enjoy traveling, hanging out with friends, discovering new music on Spotify, running, and hiking. I’m also a self-proclaimed sushi enthusiast.

Coming to Slack, I was excited to be working at a company whose product I used so much. From when I first walked into the building, everyone stood out to me as friendly, driven, and excited to be working here. The first week mostly consisted of on-boarding and meeting my…


Photo by Denys Nevozhai

By Jim Whimpey

We recently rolled out a new version of Slack on the desktop, and one of its headlining features is a faster boot time. In this post, we’ll take a look back at our quest to get Slack running quickly, so you can get to work.

The rewrite began as a prototype called “speedy boots” that aimed to–you guessed it–boot Slack as quickly as possible. Using a CDN-cached HTML file, a persisted Redux store, and a Service Worker, we were able to boot a stripped-down version of the client in less than a second (at the time, normal…


by Mark Christian and Johnny Rodgers

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.

Aerial photo of a ship on a beach being worked on.
Aerial photo of a ship on a beach being worked on.
Photo by Caleb George on Unsplash

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…


by Serry Park, Arka Ganguli, and Joe Smith.

Over 10 million users across the globe rely on Slack everyday to collaborate with their colleagues. As our user base has grown, so has our focus on enhancing the performance of our features and ensuring their ability to perform under load. This was especially true for Enterprise Key Management (EKM), which launched earlier this year for Enterprise Grid customers.

EKM allows our most security-conscious customers to use their own keys to encrypt and decrypt their data in Slack, including fundamental aspects of Slack such as sending and receiving messages. …

Slack Engineering

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store