Bridging the Gap Between Slack and Email Users
1 week ago, slack

Slack brings the right people, information, and tools together to get work done. Normally, team members can invite one another to Slack via email invitation. Invited users can accept the invitation to activate their account, but if they don’t, then their team members can’t collaborate with them. To solve this problem we created Email Bridge: […] The post Bridging the Gap Between Slack and Email Users appeared first on Slack Engineering....

Building the Next Evolution of Cloud Networks at Slack
1 month ago, slack

At Slack, we’ve gone through an evolution of our AWS infrastructure from the early days of running a few hand-built EC2 instances, all the way to provisioning thousands of EC2s instances across multiple AWS regions, using the latest AWS services to build reliable and scalable infrastructure. One of the pain points inherited from the early […] The post Building the Next Evolution of Cloud Networks at Slack appeared first on Slack Engineering....

The Unsuspecting Beauty & Complexity of Web Forms
1 month ago, slack

A form on a website may seem like a pretty trifling thing. A couple of text fields, a submit button, and you’re good to go, right? #lifeisgood Wrong! Forms are beautiful and complex creatures. You must dive beneath the surface and explore all the beautiful features that can help create a truly powerful form/lead generator/moneymaker. […] The post The Unsuspecting Beauty & Complexity of Web Forms appeared first on Slack Engineering....

Starting an initiative
1 month ago, slack

Early in my career at Slack I was looking for ways to have an impact.  I asked my manager what I could work on to add value to the team.  She said that we wanted to catch bugs earlier in the development process and that Cypress testing might be one way to do this.  I […] The post Starting an initiative appeared first on Slack Engineering....

Starting an Initiative
1 month ago, slack

Early in my career at Slack I was looking for ways to have an impact.  I asked my manager what I could work on to add value to the team.  She said that we wanted to catch bugs earlier in the development process and that Cypress testing might be one way to do this.  I […] The post Starting an Initiative appeared first on Slack Engineering....

Tracing at Slack: Thinking in Causal Graphs
1 month ago, slack

“Why is it slow?” is the hardest problem to debug in a complex distributed system like Slack. To diagnose a slow-loading channel with over a hundred thousand users, we’d need to look at client-side metrics, server-side metrics, and logs. It could be a client-side issue: a slow network connection or hardware. On the other hand, […] The post Tracing at Slack: Thinking in Causal Graphs appeared first on Slack Engineering....

How to Have an Impactful Internship… Virtually
2 months ago, slack

The start of any internship brings a wide range of emotions, from excitement to nervousness. After months of anticipating our first day at Slack, reality sunk in that this summer would be extremely different from any other. Due to the pandemic, our entire experience would be virtual.  As the two interns for the Product Security […] The post How to Have an Impactful Internship… Virtually appeared first on Slack Engineering....

Blocking Slack Invite Spam With Machine Learning
2 months ago, slack

A fact of life for building an internet service is that, sooner or later, bad actors are going to come along and try to abuse the system. Slack is no exception — spammers try to use our invite function as a way to send out spam emails. Having built up the infrastructure to easily deploy […] The post Blocking Slack Invite Spam With Machine Learning appeared first on Slack Engineering....

All Hands on Deck
3 months ago, slack

Photo Credit: https://unsplash.com/@efeyagizsThis story speaks to the process behind incident response at Slack and uses the May 12th, 2020 outage as an example. For a deeper technical review of the same outage, read Laura Nolan’s post, “A Terrible, Horrible, No-Good, Very Bad Day at Slack”Slack is a critical tool for millions of people, so it’s natural when Slack going down can feel as stressful as when our power goes out, when the internet stops working, or when our smartphone runs out of batt...

A Terrible, Horrible, No-Good, Very Bad Day at Slack
3 months ago, slack

This story describes the technical details of the problems that caused the Slack downtime on May 12th, 2020. To learn more about the process behind incident response for same outage, read Ryan Katkov’s post, “All Hands on Deck”.On May 12, 2020, Slack had our first significant outage in a long time. We published a summary of the incident shortly after, but this story is an interesting one, and we’d like to go into more detail on the technical issues around it.The user-visible outage began at 4:45...

The App Sandbox
3 months ago, slack

Image courtesy Markus SpiskeThe latest release of the Slack desktop app features this curious entry in the notes:Batten down the hatches! The app sandbox is now enabled for all web content. This is a fancy way of saying we’ve dialed up the security of the app. It wasn’t unsafe before, but it’s double safe now.What is the “app sandbox,” what is it protecting against, and why does it matter? This post attempts to answer those questions, and provides a technical guide for Electron developers that w...

Scaling End-to-End User Interface Tests
4 months ago, slack

By Kavita Chodavarapu and Bryant UngPhoto: Joshua SortinoAt 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 p...

Prototyping at Slack
5 months ago, slack

Photo by Khara Woods on UnsplashOver the years at Slack — usually during periods of high growth — teams have defaulted to working in a waterfall where an idea is proposed and researched, then designed or spec’d, then built, in that order. It’s not the most efficient way to work and as a company grows — with more people involved at each step — it only gets slower.There is an incredibly high cost to going backwards; if you realize you got it wrong during the build phase, going back to the drawing ...

A Day in the Life
5 months ago, slack

6:28 amContinue reading on Several People Are Coding »...

A Day in the Life of a Frontend Foundations Engineer at Slack
5 months ago, slack

Sunset in San Francisco | Photo by Utsav Shah6:28 amFirst alarm rings. Snooze.6:30 amSecond alarm rings. Snooze.6:34 amFinal alarm rings and I know this is the last one, so I hop out of bed and immediately play some music. Music really has a way of waking me up, and I typically play Sofi Tukker or Rufus Du Sol radio on Spotify. I start getting ready to head to the gym for a morning workout. I’m not a morning person, but I’m a morning-workout person. I love working out before work because I arriv...

Happiness is… a freshly organized codebase
5 months ago, slack

Photo by jesse orrico on UnsplashStarting From the TopImagine joining a new team at a new company and you finally get access to a codebase.Slack iOS Xcode File Hierarchy 2017Where do you add a source file for your team’s project? Great question. Your new team has three source directories for you to add files to, and oh, you’ll have to figure out which one you want to use, which one your teammate uses, and where you’re going to find the files that need refactoring.The Slack iOS team lived in thes...

Development Environments at Slack
5 months ago, slack

Kaboompics from PexelsIn this article, development environments refer to sandboxes where you can test your code changes before deploying, and should not be confused with integrated development environments (IDEs) like Eclipse or Microsoft Visual Studio.Dev environments have always been a mystery to me. Despite learning about them on my first day at Slack, and using them almost every day for the last three years, I have never understood how they truly worked.Half a year ago, I set a goal to under...

A Day in the Life of a Mobile Product Engineer at Slack
5 months ago, slack

Ah, Vancouver | Photo: Lee Robinson6:45 amMy alarm is set for 6:45 but I often wake up before it goes off. I tend to wake up earlier during Vancouver’s long summer days, when the sun is up from 5:10am to 9:10pm and already peeking through my blinds, but it sometimes happens in the winter when it’s still dark out. Every morning starts with a hot refreshing shower before getting ready for work. I recently became a morning person and found that showering in the morning goes a long way in preparing ...

Hacklang at Slack: A Better PHP
6 months ago, slack

How and why Slack migrated to Hack, the benefits it gave us, and things to consider for your own codebase.Continue reading on Several People Are Coding »...

A Day in the Life of a Backend Product Engineer at Slack*
6 months ago, slack

Photo by Josh Wilburne on Unsplash*Prior to the COVID-19 outbreak and our current shelter in place orders in San Francisco.7amI’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 hom...

Next