Top all-time · #151
Engineering at Slack
Company blog · slack.engineeringprogrammingsystems
Engineering at Slack is the company blog at slack.engineering, writing about programming and systems. Since 2016, 284 different Hacker News readers have linked it 401 times, most often “Taking PHP Seriously”. It is still writing: the last post was on 2026-07-14, and you can follow it by feed.
A deep dive into the technology behind building Slack. Written by engineers, for engineers passionate about solving complex technical problems.
Most-linked posts?
- Taking PHP Seriously16 people · 17 mentions · first linked 2016-10-13
- Scaling Datastores at Slack with Vitess15 people · 16 mentions · first linked 2020-12-01
- Hacklang at Slack: A Better PHP8 people · 9 mentions · first linked 2020-12-02
- Remote Development at Slack8 people · 8 mentions · first linked 2022-06-29
- AI-powered conversion from Enzyme to React Testing Library7 people · 10 mentions · first linked 2024-05-22
- Taking PHP Seriously (2016)7 people · 9 mentions · first linked 2020-10-31
- Slack: Realtime Messaging7 people · 8 mentions · first linked 2023-04-17
- How We Design Our APIs at Slack7 people · 7 mentions · first linked 2021-08-11
- Deploys at Slack6 people · 7 mentions · first linked 2020-03-29
- Building Hybrid Applications with Electron6 people · 6 mentions · first linked 2016-10-25
What Hacker News says?
Today, I read something very interesting on the Slack engineering blog on an older post - https://slack.engineering/a-walkthrough-guide-to-finding-an-... Many candidates think they need to find someone currently at Slack to “get their foot in the door.” Rest assured this is not the case; in fact most of our hires have come from people who have applied via our careers page. We take all applications seriously. We care…
Comment linking /a-walkthrough-guide-to-finding-an-engineering-job-at-slack-dc07dd7b0144
on “Why I Don’t Talk to Google Recruiters”Submitted Taking PHP Seriously as a story · 819 points
HN discussionI contacted support to opt out.. Here is the answer. "Hi there, Thank you for reaching out to Slack support. Your opt-out request has been completed. For clarity, Slack has platform-level machine learning models for things like channel and emoji recommendations and search results. We do not build or train these models in such a way that they could learn, memorize, or be able to reproduce some part of customer data.…
Comment linking /how-we-built-slack-ai-to-be-secure-and-private/
on “Slack AI Training with Customer Data”Submitted A terrible, horrible, no-good, very bad day at Slack as a story · 631 points
HN discussionSuper interesting post. Following blog links, the timeline in https://slack.engineering/all-hands-on-deck-91d6986c3ee also offers a look at the play by play. However, as far as I can read it, they have somewhat different views on the root cause? "Soon, it became clear we had stale HAProxy configuration files, as a result of linting errors preventing re-rendering of the configuration." vs. "The program which synced t…
Comment linking /all-hands-on-deck-91d6986c3ee
on “A terrible, horrible, no-good, very bad day at Slack”Submitted TypeScript at Slack as a story · 440 points
HN discussionAgreed on the bad usability, but that's par for the course with most Electron apps. You get the laziest possible "stuffed a webpage in a window" UI. And maybe it's even a nice UI in some ways, but it's usually pretty clear that it's not native software. Re: moving away from Electron, not as far as I know. They had a major update a year or so ago to make some big efficiency gains by not running a separate Electron in…
Comment linking /rebuilding-slack-on-the-desktop/
on “The Game UI Database, a comprehensive reference of game interface design”Submitted Moving Fast and Securing Things as a story · 375 points
HN discussionAccording to https://slack.engineering/building-hybrid-applications-with-... , Slack never used multiple different per-platform webviews. The earliest version of their desktop app was Mac-only and used the OS-native WebView API, but they switched to Electron at the same time they started work on making the app cross-platform. At the time, not only did Tauri not exist, but neither did the WebView2 API that it uses un…
Comment linking /building-hybrid-applications-with-electron/
on “Show HN: I rewrote my Mac Electron app in Rust”Submitted Deploys at Slack as a story · 360 points
HN discussion> Agile Methods: The Good, the Hype and the Ugly (Video) ( https://www.youtube.com/watch?v=ffkIQrq-m34 ) Thoughts on this one? I found the presentation to be somewhat mixed. I found the initial comb through of the agile principles to be needlessly pedantic ("'Simplicity... is essential' isn't a principle, it's an assertion!"); anyone reading in good faith can extract the principle that's intended in each bullet of t…
Comment linking /reducing-slacks-memory-footprint-4480fec7e8eb
on “Cold Showers: For when people get too hyped up about things”Submitted Slack’s Outage on January 4th 2021 as a story · 313 points
HN discussionIt is, with that web frame being Electron (Chromium + node.js): https://slack.engineering/building-hybrid-applications-with-...
Comment linking /building-hybrid-applications-with-electron-dc67686de5fb
on “Screen sharing comes to Slack video calls”Submitted Slack’s Incident on 2-22-22 as a story · 297 points
HN discussionhttps://slack.engineering/streamlining-your-workflow-debuggi...
Comment linking /streamlining-your-workflow-debugging-for-hhvm/
on “Leaving Google”Submitted Syscall Auditing at Scale as a story · 224 points
HN discussionOn your base system, yes. Lots of things can hook random syscalls, or environments might have syscall monitoring. One example is the folks over at slack record every syscall for security auditing. https://slack.engineering/syscall-auditing-at-scale-e6a3ca8a...
Comment linking /syscall-auditing-at-scale-e6a3ca8ac1b8
on “How setting the TZ environment variable avoids thousands of system calls”Submitted Keep Webpack Fast: A Field Guide for Better Build Performance as a story · 214 points
HN discussionSlack just fixed this. Try updating: https://slack.engineering/rebuilding-slack-on-the-desktop-30... Slack originally designed the app for one workspace. As users grew the expectations for multiple workspaces, they retrofitted by spawning a new thread for each workspace. eThey consciously traded off tech debt for growth. Now they've grown, they have invested resources to pay off the debt. And everything is one threa…
Comment linking /rebuilding-slack-on-the-desktop-308d6fe94ae4
on “Fast Software, the Best Software”Submitted Nebula, Slack's Open Source Global Overlay Network as a story · 213 points
HN discussionTotally. You definitely can't compete against Slack's desktop app with web technologies: https://slack.engineering/building-hybrid-applications-with-...
Comment linking /building-hybrid-applications-with-electron-dc67686de5fb
on “Flutter for Linux”Submitted Search at Slack as a story · 197 points
HN discussionDepends what you want to get out of them. I find some are mostly focused around some of the more unique/cool challenges they come across (Google[1][2], Slack[3]), and others are more about how they solve the engineering challenges they face through software and/or about their dev process (Uber[4], Twitter[5]). Some are mix of the two (Dropbox[6], Netflix[7]). [1] https://developers.googleblog.com/ [2] http://researc…
Comment linking /
on “Ask HN: Which companies have the best blogs written by their engineering team?”Submitted How Big Technical Changes Happen at Slack as a story · 193 points
HN discussionYes, and it doesn't have a big enough advantage for it to be picked up. Usually developer productivity and memory use (node doesn't cause memory leaks but it doesn't prevent them either) is more of a limiting factor than the execution model. Node has found plenty of use outside of what it was originally built for (the canonical examples are web servers). As far as I can tell, it's used more widely and critically as…
Comment linking /taking-php-seriously-cf7a60065329?gi=c414f3d4bb41
on “Ending PHP Support, and the Future of Hack”Submitted Migrating Millions of Concurrent WebSockets to Envoy as a story · 188 points
HN discussionThey are referring to companies like GitHub [1] and Slack [2]. [1] https://githubengineering.com/how-four-native-developers-wro... [2] https://slack.engineering/growing-pains-migrating-slacks-des...
Comment linking /growing-pains-migrating-slacks-desktop-app-to-browserview-2759690d9c7b
on “Standalone Signal Desktop”Submitted Happiness is a freshly organized codebase as a story · 184 points
HN discussionyyy we're in violent agreement! interesting re reddit, that's really tiny! but again, I'm even more curious about how many underlying TPS this turns into, net of rules firing, notifications and of course bots that read and analyze this comment, etc. Still, this isn't a scaling issue because all of this stuff can be done async on read replicas, which means approx unlimited scale in a single-database-under-management…
Comment linking /scaling-datastores-at-slack-with-vitess/
on “PostgreSQL is enough”Submitted AI-powered conversion from Enzyme to React Testing Library as a story · 178 points
HN discussion