Nikita Kazakov
Nikita Kazakov
1 min read


Why do we strive to write DRY (do not repeat yourself) code but fail to apply that technique in communications?

I’m a big fan of creating dedicated slack channels and then taking private / group conversations there.

Why? Because here’s what happens when I don’t.

A new project begins and I start a DM (direct message) with the product manager about requirements. I need access to an API so I DM a colleague with admin access to add me. Another product member DMs me a question about this feature. They ask me which fields the API provides. I copy and paste my response from another DM to them. Another developer joins a few weeks later and is out of the loop. I copy and paste messages from multiple DMs to get him caught up. A tester joins and is also out of the loop. I catch them up. The product manager leaves and a new product manager takes over the project and needs to be caught up…

This is the road to insanity. Don’t do this.

Create a new slack channel from the beginning. As you add people to the channel, they can scroll through past messages and get context.

Group conversations suck because if you add a person to a group conversation, they won’t see previous messages. Now you have to repeat yourself when a new person asks for what you talked about before.

If you’re building a beer holder product and are about to start this project, create a channel called #beer-holder in Slack and force all communications around beer holders there.

When someone PMs you a question about beer holders, add them to the channel and have them ask the question there.

Add relevant stakeholders to this channel. If there’s an engineering problem with the product, talk about it in the channel.

Keep conversations and work visible. Your sanity will thank you.