Someone in one of the online forums I read asked:

How quick are you to ‘lay down the law’ to colleagues who are doing things incorrectly? Do you do so at the first instance, do you wait for it to become a pattern? Do you escalate in forcefulness with them? Escalate up the management chain?

I don’t usually approach others to ‘lay down the law’ with ‘forcefulness’. I’d much rather people understand the reasoning behind doing something (and have a chance to disagree, if they see it differently) than an “or else.” I prefer “I know why I shouldn’t do x” over “I don’t do x because they told me not to,” when I can get it.

But, rephrasing the question: when and how do I intervene if I see a colleague doing something incorrectly?

I tried to avoid using the software architect’s pet phrase in my response: “it depends.” We’re notorious for that one. That said… of course it does.

So, depends on what? What am I taking into account when I decide how to respond?

a trail in the middle of a forest with lots of trees

Photo by Josh Hild on Unsplash.

I’m considering the problem and its ramifications. What’s the potential harm of letting them continue to do something wrong? Is there an upside (e.g., might they benefit from learning “the hard way” rather than being told what to do)? Is this mistake likely to develop into a bad habit? Is my colleague simply unaware that what they’re doing is wrong?

I’m considering my role. Is intervening part of my job? I have a bad habit of trying to fix things that legit aren’t mine to fix. Also, who or what says this is wrong? Is it my place to decide how things should be done? Or should each individual, the group together, or our manager make the call?

I’m taking into account my relationship with this person and how they’ve taken feedback in the past. Is this someone who might listen to my explanation of the problem? Or might they need to hear it from someone else? Maybe the right messenger is our manager, another senior developer they look up to, or the person who most often has to deal with the ramifications.

And I “follow the incentives.” What does my colleague get out of doing what they’re doing? What’s in it for them to change? What incentives are valuable to them (the approval of the boss, getting along with colleagues, pride in the quality of their work)?

Would a feedback loop help? Once I know what the incentives are, is there a way to amplify the results of my colleague’s actions so the downsides and upsides are more obvious to them? This is a core motivation for having developers support their own applications in production, rather than handing support over to another team. Whether or not my code is right and how easy my application is to support land differently when I’m the one on call when it fails.

But here’s the part that surprised me even as I was writing it out. Deciding when and how to intervene isn’t just about what my colleague is doing and the ramifications their actions have.

It’s also about my own incentives.

While I’m following the incentives, I need to look at my own. Why am I motivated to do something about my colleague’s behavior? What am I getting out of my choice of whether or not to intervene? What’s the payoff for me in speaking up, and what’s the payoff for keeping quiet?

Let’s say I decide to say something to my colleague, or to our boss. Am I doing so because I want to be seen as the “expert”? Am I feeling threatened by this person’s work, somehow? If I am speaking up, am I doing this with both clarity and kindness, or is there some resentment or judgment creeping in?

Am I avoiding a more important problem by choosing a smaller battle I feel more confident about? Maybe I’m reviewing their code, and I don’t feel confident in my understanding of the code. But I do notice a small detail that they should correct. Rather than admit that I’m not sure I understand, I can feel like I’ve contributed something by suggesting a correction.

Or let’s say I decide to let it slide. Am I avoiding speaking up because I fear conflict? Am I afraid that they’ll argue with me and it will turn out that I’m wrong? Sometimes this shows up as telling myself that I don’t have time to deal with this, or that I’m not the right person to say something, when the truth is that my fear of the conversation is exaggerated.

“It depends” here takes not only a review of the situation and people involved, but also some introspection to look at my own motives. It’s not always an easy path to follow! But ultimately, I want to look back at how I handled this and be proud of my choice.