Why engineering teams love Slack (and why yours might love it too)

Whoa, that was fast

Back in 2009, we were a small team of software engineers building a massive multiplayer game called Glitch.

We started using Internet Relay Chat (remember IRC?) to keep everyone on the same page. As work on the game progressed, we kept wishing that our IRC channel could do more than just basic communication. So we found ourselves tweaking it, adding to it and hacking new ways to get things done faster.

Well, the game was a flop, so we decided to focus on this new collaboration thing that we’d developed.

That was a good decision, because we ended up with a great product-market fit: a really effective way for teams to work together.

Maybe that’s because we weren’t trying to ‘design’ anything. There was no ego and no speculation about some fictional user. We were the users.

That’s how Slack was born.

Today, it’s grown bigger than we’d ever imagined – and its adoption by developer teams of all sizes is a major reason.

Yes, Slack is used in pretty much every department and discipline, but software engineering is where it all started, and is still the source of a lot of the user love that keeps us coming to work smiling.

It’s hugely gratifying that we’re able to create something that makes a direct impact on the daily working lives of developers.

This e-book is a quick introduction to some of the ways that Slack helps developers.

We hope that it helps to explain why software engineers seem to like Slack so much.

Why Slack fits software engineering so well

Slack is used by all kinds of non-technical teams every day. It seems to organically adapt to the work that it’s supporting.

But Slack seems to fit software engineering like a glove. This is quite a specialised sort of work, after all.

When you think about it, all work is becoming more and more like this. But software engineering is an ideal use case. It demands a kind of collaboration that just can’t happen through emails and face-to-face meetings. This kind of work needs a new kind of collaboration.

Slack: the channel-based messaging platform

People who’ve never used Slack think of it as a messaging app. It’s way more than that. It adapts to the way different teams like to work, to their existing software choices… and to change.

  • Channel-based messaging

This lets teams put channels in place that are dedicated to specific tasks, projects or issues. Such as a #devel-new-site channel where all developers meet to work on the new website. Or a #triage-mobile-app channel where teams work together to squash bugs on the mobile app.

Channels are much better than one-to-one messages or closed email threads because they make it easy to include the right people in the right topics at the right time.

  • A searchable knowledge store

A single place where anyone can find all relevant documents, conversations and decisions – such as those product specs or the discussion around that new feature.

Email attachments usually sink out of view to everyone except the people copied in. Knowledge is only valuable if it’s discoverable.

  • An integration layer

A place where the software that your people spend the most time in (such as GitHub, Jira, Jenkins and Trello) hooks into the place where work is discussed every day.

This minimises the constant context switching that comes from working across many different apps. Instead of forcing your people to go to the apps, bring the apps to your people.

Note: bringing these three things together in one place makes each one of them far more powerful. The hub is far greater than the sum of its parts.

Benefits to software engineering teams

The right channel-based messaging platform directly influences the things that are most important to every engineering team: better code, delivered faster; more efficient bug squashing and a better developer experience (so that you keep your talent happy). Any software that helps you do all that is probably worth looking into.

Slack is a living documentation hub and everything is searchable.

Malika RajvanshySenior Engineer, Slack

IDC helped us to put some numbers to our claims: Engineering teams use Slack to do more.

How Slack streamlines the whole software engineering process

We’re undoubtedly some of the most sophisticated users of Slack for software development – all our developer teams live in it. But every day we still hear about new use cases and interesting apps and integrations that software teams are using.

Let’s go through some of them, organised by stages in the software development cycle.


Slack helps product managers, designers and engineers to agree on what they’re building and why.

Slack channel details
Slack thread discussing feedback form for users in app
  • Kick off the whole process with a single channel for a new product or feature

It could be called something like #feature-new-app.

Now there’s a single place to define the project scope, gather feature requirements, discuss alternatives and make basic decisions on functionality and UX.

  • Sharing documents here makes everything discoverable

For all contributors and any new joiners. Slack integrates beautifully with Google Docs, so all documents are just a click away.

  • Got a question? Pop it in the channel

Launch a discussion and come to a resolution for all to see. Now there’s a permanent record.


Slack helps developers to orchestrate the myriad moving parts of a large code base, speeding up development and improving quality.

When it’s time to start coding, Slack makes sure that the whole team are working together:

  • A #devel-product-name channel is the home for everything

Including day-to-day work across engineering and QA, pull requests, code merges, design revisions, daily huddles, discussions, etc.

  • A central hub for code review

Slack supports whatever process you use for branching, merging, reviewing and releasing code, whether that’s developing on version branches, feature branches or from a merged master.

Git integrations (with GitHub, Bitbucket or your chosen repository) bring all change alerts into Slack.

  • A new kind of huddle

Huddles are an important part of agile development, but they don’t have to be face-to-face meetings. Developer teams use Slack for huddles – whether every morning or every week – and have face-to-face meetings only when they make sense (for many developers, the best meeting is a cancelled one).

Integrations with software such as Standuply automatically push summary reports into Slack so your teams can share goals and tasks, track business metrics, post meeting notes and monitor the team’s progress and happiness.

Checkpoint integration in Slack posting pull request in channel

Promote code reuse: Code reuse is a core principle of efficient engineering teams, but it’s a challenge when you have hundreds of developers contributing to many different products. Before writing any new code, your developers can search across all Slack channels to see if anyone else has already built something similar. The next step: ask in the right channels, ‘Has anyone made a date picker yet?’ Stop reinventing the wheel.

Create and share code using snippets: Snippets make it easy to share code, configuration files and log files directly in Slack. Colleagues can download them, view the raw file and leave comments.

Slack in action

Extensibility at its core

Slack doesn’t try to do the work of the software that your teams already use, like PagerDuty, GitHub or Jenkins.

Instead, Slack simply unites all these different apps, bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications, triggered from inside Slack).

Any time I’ve seen a Slack integration, I’ve turned it on. It’s provided so much value and helped us save so many extra steps in our process.

Thomas LawlessSenior Software Engineer, IBM

These integrations help developers do what they love to do: create systems that just work.

The examples shared throughout this e-book are just that – examples. There are as many ways to use Slack as there are software teams using it.


Testing is woven into the modern development/deployment process. Slack supports a dynamic, collaborative and transparent approach to testing.

Continuous integration runs your testing suite on every merge with each new chunk of code. Slack streamlines the process in lots of ways, both big and small:

  • A #testing–feature channel coordinates QA

Let the QA team collaborate with developers in an open forum.

  • Jira integration automates test workflows

Capture issues in Slack and get them into the pipeline automatically. Send customisable notifications from Jira into your channels. Quickly assign issues to people and know that they’re recorded where they belong.

Some teams use Slack to automatically move change requests into a new channel, updating Trello or Asana at the same time.

  • Branch off a channel for each client

With dedicated testing channels for iOS, Android and web.

Jira slash command in Slack

Working with Jenkins

A lot of teams use Jenkins as their continuous integration server. It didn’t take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks.

One example: a software team’s customised Slack integration activates a Jenkins server running a big testing suite whenever a developer opens a pull request.

When the tests have been run, the notifications pop up in the right Slack channels. If the code fails the test, a notification is sent to the developer.


Slack helps to push code to production by helping to automate the workflows and notifications.

Continuous delivery always calls for lots of small code releases, deployed frequently. Slack helps engineering teams to streamline some of that.

An example: one of our own software teams wrote an app called Deploy Wizard, which integrates with ops and communicates the status of the code in channel. It starts with a ‘canary’ stage (a tiny release to catch any sudden fails) and then progresses through 10%, 25%, 75% and finally 100% of the user base.

Deploy Wizard integration in Slack posting staging updates

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses. The whole thing is managed by the on-duty deployment commanders (trained engineers working on three-hour shifts).

If developers want to test their code in the staging environment, they specify that with their merge request. The deployment will stop in staging until a developer reports that he or she has tested the code in the deployments channel.

Some developer teams use slash commands (such as /deploy_productname_staging) to trigger a deployment directly from Slack. Automated messages show when the deployment has succeeded, with a link to go and check it (or a button to push it to production).


Developer teams use Slack to manage tickets, join together on issues and squash bugs.

  • All issues flow through the #triage product-name channel

Including reports from customer support (manual or via integrations with tools such as Zendesk).

  • Integrations bring all alerts into one place

Instead of expecting developers to monitor emails or check in to dashboards, Slack becomes the single place where all alerts find the best people to respond.

Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates an assessment trail. Team members can work together on triggering, viewing, acknowledging and resolving incidents right from Slack.

Similarly, Slack can route all web, transaction, server and mobile alerts from New Relic into a Slack channel for quick responses. If anyone is curious about an incident, they can just pop into the channel and read about it. This means that managers no longer need to interrupt the incident responders for constant updates. It’s all there.

Emoji and reaction emoji help to assess issues and trigger workflows

Reaction emoji (or ‘reacji’) are an efficient way to capture the responses of team members, but they’re also a way to trigger automated workflows. An app collects these so that they can be aggregated, flagged and actioned. Any open issues (with an eye emoji but no tick) are shown in PagerDuty.

An automated #decisions channel: some teams use the gavel emoji to indicate when a decision has been made. A bot then pushes all these decisions to a #decisions channel, where management can see the flow of decisions – and team members can easily search through them.

And we built a bot that collects and reports on these in a dedicated channel.

The people side

Software engineers are in demand. To retain your staff, you need to give them the best employee experience that you can.

The right tools can play a big role in this: helping reduce work friction, foster transparency, automate routine tasks and help work across teams.

Talk to any software engineering team that uses Slack.

Ask to see how they use channels, apps and integrations.

Then ask them what they’d do without it.

Onboarding new developers

Two new developers join the team. How do you bring them up to speed?

Old way: lots of onboarding meetings and a slew of forwarded email threads to root through. Might not be the best way.

New way: invite them to the #dev–new–product channel to review the pinned posts such as:

  • The product spec
  • The tech spec
  • The designs

(If these are Google Docs, Dropbox or OneDrive, they’ll always be kept up to date.)

They can also scan through all previous conversations, decisions and the people involved. Now that’s more like it.

That’s how software engineers use Slack

So that’s our quick tour of how Slack helps software teams to streamline, automate and accelerate their work. We hope that we got the main points across:

  • This is a new thing: an adaptive collaboration hub that helps engineers to work in new ways. It’s much more than a messaging app.
  • It’s super-flexible: it lets your teams ‘make it their own’ with workspaces, channels, apps and integrations that reflect the way that they like to work.
  • It helps you to get more from your existing software: from GitHub and Bitbucket to Jenkins, Jira, PagerDuty, New Relic, Zendesk – whatever your developer, product, QA and support people use, they’ll use those tools more efficiently by bringing their work together in Slack.
  • It adds value at every stage of the development cycle: from planning to developing, testing, operating, deploying and bug squashing.
  • Software engineers love it: this means that they’ll adopt it and expand their use over time.

We have what we like to call an ‘end-to-end delivery pipeline’ that starts with source code and goes all the way through to production deployment. And now we have Slack integrated into all the key milestones in that process.

Thomas LawlessSenior Software Engineer, IBM

If you want to see more, set up a demo or ask one of our developers to show you around our own Slack setup. We’re proud of it.


  1. IDC research, The Business Value of Slack, 2017, sponsored by Slack

Was this resource useful?


Nice one!

Thanks a lot for your feedback!

Got it!

Thanks for your feedback.

Whoops! We’re having some problems. Please try again later.