As an Engineering Manager I heard many times:
This developer just wants to bury us in legacy code forever.
The other team picked the wrong library with no backwards compatibility so we are all struggling now.
This engineer caused a production break late Friday afternoon, so forced us to stay longer to fix it.
All of these examples assume that one party had bad intentions. Well, this is not the case. One mental model can clear this up: Hanlon's Razor — a rule of thumb that states:
Never attribute to malice that which is adequately explained by stupidity.
In other words, don’t assume someone is intentionally trying to hurt you, when they might just be acting without you in mind.
The origin of this rule may be traced back many years, but it was published in written form by Robert J. Hanlon in 1980, hence his name became associated with it. It gained popularity in 1990 when it was described in the Jargon File, a glossary of computer programmer slang.
Why? — Human Nature
Applying Hanlon’s Razor is necessary to overcome:
Our egocentric bias which leads us to believe we are at the centre of the world because this is our brain’s perspective. However, except on rare occasions, we actually matter less to other people than we think.
The conjunction fallacy, which can override our judgement regarding probabilities. When we witness something bad that appears incorrect, we often assume it was done intentionally. But it’s important to remember that most people do not intend to cause harm.
Practice
At work, I have benefited from applying Hanlon's Razor. It can promote understanding, empathy, and giving others the benefit of the doubt.
By basing our judgement on data, reason, and probability, and by taking into account the incentives of groups within the company, we can enhance our understanding of the situation.
To implement Hanlon’s Razor:
Do not assume bad intentions, and make sure that your team does not assume malice first.
Listen to what happened.
Understand what happened based on facts and data.
Our recruiter accidentally sent a candidate an offer that was too high due to a mistake with the currency conversion. This situation triggered many negative comments towards the recruiter. It's important to know that she meant well and was trying to send the offer quickly. The process was improved afterwards, but an earlier application of Hanlon's Razor was much needed.
Similarly, when working with internal engineering teams, I encountered a dozen cases where engineers failed to communicate important information. It may seem like they are keeping it to themselves, but the truth is they simply forgot or didn't realise its importance.
Engineering Requires Experience
When dealing with:
underperformance in various forms, such as slow work, bugs, and suboptimal solutions,
miscommunication,
security issues,
missed edge cases,
look for a lack of skills and experience rather than assuming malice.
Summary
Hanlon's Razor reminds us to consider human errors, laziness or limitations before assuming incorrect intentions behind their actions. This is particularly relevant for Engineering Managers, who should move beyond their initial emotional reaction and adopt a positive approach to effectively resolving problems, serving as an example.
Do not assume bad intentions.
The world is not perfect, and there may be individuals who have their reasons to dislike you, with actions that seem directed at you. However, this is a corner case.
Thanks for reading,
— Michał
PS My interest in mental models has been growing over the years thanks to Farnam Street. Their podcast, The Knowledge Project, and their books. Hanlon's Razor was one of the first mental models I learned.
PPS Hanlon's Razor saved us from the Third World War. During the Cuban Missile Crisis, Soviet nuclear submarines encountered explosions during the US preventive launch of depth bombs. The US informed Moscow about this, but unfortunately, due to a lack of communication, warnings were not delivered to the submarines. Under the water submarines thought that the war started. Three senior admirals had to reach a consensus in order to launch a nuclear strike from the submarines against the US. Thankfully, one of them, Vasily Arkhipov, voted "NO." He believed that it might be a mistake and requested to wait for information from Moscow.
Post Notes
Catalogue of Mental Models:
Discover Weekly — Shoutouts
Articles that might help you explore new perspectives which I have read this week:
“Questions to Ask Your Next Manager” from
— The decision to join a new organisation is one with higher stakes. has prepared a great set of questions to ask your future manager to help make this decision. I’d add that these are really important at any stage, including when deciding whether to stay in the organisation.“Leading Through the Unknown” from
— described an interesting concept of pioneering leadership, which uses the scout mindset to explore the unknown.“Timeless skills in Software Development” from
— listed skills that we should focus on and explore to keep in mind our long-term success and to calm down fears of AI taking over most of what we do quite soon.“5 reasons to have someone leading a project” from
— , using his own story, reminded us of the importance of taking ownership and establishing points of contact for the teams to move in the right direction.
It’s was a great read Michał, loved the flow! Kudos for the consistent improvement :)
I find this model especially important in sync communication. When we are not dealing with people face to face, our empathy levels drop. It’s much easier to behave like a jerk in Slack than in person.
I've never met a person at work who set out to mess up the work of others. Great post reminding us that most errors are due to mistakes instead of malice.
Thank you for the shout out to Product Management IRL!