If you complain for being bothered in Slack or other real time communication tools outside of normal working hours, it’s your fault.
When you have a remote, distributed team, you have two approaches before you talk to a colleague. You either have to check their timezone every single time before you ping them to see if you are going to bother them, or not care at all.
I am for not caring at all.
Here is how I accomplish that with my teams. I tell them to fix their notification settings so that nobody can bother them when they don’t want to be bothered. Every tool has a few ways to do that. Slack, for example, has many ways. In Basecamp, you can set your working hours. Notifications stop outside of those hours. I personally have disabled all direct notifications, and moved to receiving email notifications only. But that’s not the only solution.
This allows everyone in my teams to ping folks without feeling guilty. And without having to spent energy upfront to check the timezone of the person they want to talk to.
Granted, that’s not always easy to apply universally, but it’s less expensive overall.