TL;DR – If you ping me directly for help with something, you will probably get it.

BuddyPress & bbPress recently switched from IRC to Slack for real time synchronous communication. Philosophically, I prefer the openness of IRC, but I do appreciate how convenient Slack is for everyone, and it’s anecdotally a more inviting and active environment & experience. For some, Slack might actually be overly convenient to the point of annoying or obtrusive, but I think like any communication tool, it requires a bit of wrangling and tuning to suit your needs.

What won’t happen, in Slack or otherwise, is any response from me that boils down to “I’m too busy” even if it’s true.

Let’s imagine that I am actually too busy to help you; you still won’t hear me say so. Instead, you’ll get any number of different replies that are considerate of you and your time:

  • “I’d love to help but won’t be able to for X number of hours.”
  • “Sorry; I have a bunch of things going on and won’t be able to get to this for a while.”
  • “I took a quick look and found this; check it out and let me know how it goes.”
  • “I can’t help right now, but maybe Frank is around and can take a look with you.”

My emphasis is on being polite and considerate of how the recipient could perceive my attitude & demeanor, and making sure to convey genuine concern for their situation even if it does not directly influence my life or priorities in any way.

Conversely, when I reach out to ask for help, it’s only because I’ve reached a point where it is no longer efficient or appropriate to continue on my own; I’ve done everything I am aware of and is in my scope of influence to do, and for any number of reasons I’m choosing to include someone else into my situation.

One place this happens quite frequently is WordPress Trac. As an example, let’s again imagine that I’m working on BuddyPress or bbPress, and I believe I’ve identified a bug in WordPress core. There’s a priority-ordered list of things I’ll go through before I include anyone else into my problem:

  • Run the PHPUnit tests to ensure I didn’t break something on my own
  • Duplicate the bug in a completely vanilla installation without any modifications
  • Confirm bug is real
  • Attempt to fix bug in WordPress core codebase by modifying as few lines as possible
  • Test and retest fix to confirm results, and confirm PHPUnit tests still pass
  • Search the internet for anyone else with this problem, and drill down into any relevant results to learn as much as I can about what anyone else is experiencing
  • Search WordPress Trac for any existing tickets related to any surrounding code, usually by searching for function or method names, variables, component names, etc…

All this, and no one else but me has any idea I’ve been hunting down Carmen Sandiego for the past hour or two. What happens next generally depends on the severity of the issue, and whether or not I feel comfortable pinging someone directly and risk interrupting whatever they’re working on for a consult. In my experience, anytime the urgency and prioritization of two separate parties converges, it requires even more clear & concise communication than normal. If someone gets frustrated by being interrupted, or you haven’t come fully prepared, the person(s) you ping are not going to be receptive now, and will be less receptive in the future.

Even after all of this research, preparation, and with years of experience doing this in a professional setting, it still isn’t easy, and positive & productive results are not guaranteed. I think if you value other people’s time more than your own, do your due-diligence, and are considerate of how your interruptions may impact their lives, you will generally get the same in return. And if you’re always constantly too busy to be interrupted (to the point of forgetting to be polite about it) it might not be the outside world and their lack of so-and-so that’s the problem.