Personally, I'm kind of tired of using Slack. I think it is disruptive and hostile to doing deep, focused work.
I'm curious what other developers think about Slack at work. Is it something that disrupts you? Are there features of it that make the disruption worth it?
Historically, I've also been very frustrated with the lack of search features in Slack. The Open Source project I help maintain uses Slack for communication and it isn't good for having technical conversations because you can't search it like a forum.
I've felt a desire to move back to something more asynchronous (not quite email), but something that isn't hostile to the way programmers work. Do you agree or disagree?
Latest comments (33)
Yes, like any other chat system.
I agree with this response. The problem here isn't the tool. There are two issues I see.
First and foremost, you need to set clear boundaries. Complaining to us helps you vent. Making a clear and structured argument to your manager could actually improve your life.
I told my manager "Hey, when my meetings are spread through the day, I can't focus long enough to do difficult projects."
He's a great manager, so he told me to block off my calendar for a large block and he moved all of my required meetings to the late afternoon. Solved.
Second, don't assume the way you develop is the only way. I need large block of time, but I also work best in collaboration. I'm capable of writing code in isolation, but the stuff I write in collaboration is better by far.
So we do tech design workshops with two to three devs. We discuss and design on the whiteboard. We use slack to communicate timely things that are higher priority than email (focus changes, new meetings, readiness of PRS, blocker bugs).
We also use it to share links. If you favorite the link, it's quite easy to search. Then you let it go when it's no longer important.
I find slack to be a key part of that ecosystem.
I like using Slack, but in every job I've worked in (as a developer and outside of development) I've put it on mute. I try to make it clear to my colleagues that I won't always have an instant answer for them and it's never been an issue in any team I've worked in.
All I find myself really missing out on is the general group chat and while all the cat gifs are nice, I'd rather spend my days more productively.
Slack is a valuable tool, but it needs to be managed as it absolutely does hinder deep work. I’m working to implement “quiet hours” at my firm where everyone turns slack off on a set interval each day to focus on deep work. I feel immediate relief when I turn Slack off, it’s glorious.
My phone number's in my Slack profile. That said:
I stay logged in to Slack, though, and simply make use of its more useful features to govern my interruptability (muting channels, wholly pausing notifications for set periods of time, etc.) There's a lot you can do with Slack to preserve/enhance its usefulness while reducing its annoyance-capability. It's a really good idea to read Slack's documentation.
Slack is what you make of it.
When we were a small organization, it was a great tool. As our organization's grown - and added people with different work- and conversational-styles (and, perhaps more-crucially, people with differing ideas of netiquette), it's become less helpful. I've pretty much de-subscribed from any channels I don't absolutely need to be a member of. The ones that I don't need to actively monitor, I mute (that way people can still pull me into a conversation by @-mentioning me).
A lot more useful in this dialed-back configuration.
Personally, I don't think Slack is unique in being disruptive — it's just another communication channel. Our org also tends to use it as a replacement for the in-person meeting, the "hey do you..." doorway conversations, and "OMFG teh sver is on fir!"
I don't know if this helps you, but after I was forcibly made manager-ish, I instituted something I call "Office Hours." During office hours, I'm available for anything: Phone calls, Slack, meetings, water cooler chats, drive-bys, whatever.
I confine my work during this time to smaller tasks, manager stuff, organizing my project tasks, code review, planning, meetings, etc. All stuff I can handle in 15-30 minute blocks.
The rest of the time is spent developing. I go completely radio silent: Door closed or I leave the office, email client off, slack off, phone on vibrate, headphones to drown out door knocks and drive-bys.
Like @neilonsoftware , I'll respond to my phone if the message is meaningful — I've had issues with terrifyingly goofy interruptions ( "Look at my awesome coffee cup!", "I wrote this
forloop. Can you explain it to me right now?"), — but otherwise I'm fairly ruthless with this time.Response to it has been pretty good, though I have to re-train Execs on a regular basis.
YMMV, but I hope it helps.
You may like to read "Digital minimalism by Carl Newport".
I think it's exactly as disruptive as any other messaging system.
I think if you're working on an open source project, then it follows that you probably support open source software, or better yet free software, and you could switch to using a free alternative to Slack, of which there are plenty. You could tweak them to be less "hostile", too.
I think the problem isn't the software, I think it's people (it's always people, isn't it?)
Personally I don't have a problem with these things because I don't look at them very often. I check my email when I reach a natural break or if I need to look something specific up - and in that case I don't pay attention to the unread count and open anything I don't need to at that instant.
Same with Slack, or IRC or whatever.
Slack can be good for technical conversations, and the fact that it is asynchronous really but sometimes it comes across as synchronous is a strength rather than a weakness. I'll get a reply eventually, when it's convenient for the other parties. That might be straight away, it might not. And that's ok.
I don't use the search very often because anything I need to know I tend to copy to a more appropriate place - code snippets go in a snippet manager or whatever, I update READMEs with instructions, that sort of thing.
👏👏 You said it all.