What are cognitive biases and which of them are most dangerous for software developers?
What are cognitive biases?
Cognitive biases are mental errors that we all make in our everyday lives. They’re the little shortcuts our brain takes to save time and energy. Unfortunately, these shortcuts can lead to bad decisions, and even lead to disastrous consequences.
As software developers, we’re especially susceptible to cognitive biases. We have to deal with a lot of information, make a lot of decisions, and often work in isolation. This can lead to some serious problems if we’re not careful.
In this article, we’ll look at some of the main cognitive biases that software developers are exposed to. We’ll see how they can impact our work, and what we can do to avoid them.
Confirmation Bias
Confirmation bias is the tendency to search for, interpret, or remember information in a way that confirms our preconceptions. We all have biases and beliefs that we hold dear, and it can be difficult to see information that contradicts those biases.
For example, let's say you're a developer who believes that the best programming language is Java. Every time you see an article about a new programming language, you quickly scan it for any mention of Java. If the article doesn't mention Java, you move on. If it does mention Java, you read it more carefully to see if the author is saying good things about Java.
This confirmation bias can lead us to only see information that supports our existing beliefs, and it can prevent us from learning new things.
Sunk cost fallacy bias
The sunk cost fallacy is the tendency to continue investing in something as long as we have already invested a lot of time or money in it, even if it is no longer the best option.
For example, let's say you've been using a certain programming language for years, and you're comfortable with it. However, you're starting to see more and more articles about a new language that is supposed to be much better.
Even though it would probably be in your best interest to learn the new language, you may be reluctant to do so because you've already invested so much time in the old one. This is the sunk cost fallacy in action.
Self-serving bias
The self-serving bias is the tendency to take credit for our successes and blame others for our failures. We all have a natural tendency to see ourselves in a positive light, and this can lead us to make some sub-optimal decisions.
For example, let's say you're a project manager and your team just completed a project on time and under budget. You're quick to take credit for the success, but when things go wrong, you're quick to blame someone else.
This self-serving bias can lead us to make decisions that are not in the best interest of the team because we are more concerned with looking good than with doing what is best.
Anchoring bias
The anchoring bias is the tendency to rely too much on the first piece of information we receive (the "anchor") when making decisions. Once we have an anchor, we tend to adjust our other information to fit around it, instead of making an unbiased decision.
For example, let's say you're a developer who is looking for a new job. You find a job posting that looks perfect, and you're eager to apply. But then you see the salary range listed in the posting, and it's much lower than you were expecting.
You might be tempted to adjust your expectations downward because the first salary you saw (the anchor) was much lower than you were expecting. This anchoring bias can lead us to make sub-optimal decisions because we are not considering all of the options.
Status quo bias
The status quo bias is the tendency to stick with the status quo, even if there are better options available. We are creatures of habit, and it can be difficult for us to break out of our comfort zones.
For example, let's say you're a developer who has been using the same text editor for years. You're comfortable with it, and you know all of the shortcuts. However, you've been hearing a lot of good things about a new text editor that just came out.
Even though the new text editor might be better, you may be reluctant to switch because you're used to the old one. This is the status quo bias in action.
Summary
These are just a few of the many cognitive biases that software developers are exposed to. These biases can lead us to make sub-optimal decisions, and they can prevent us from learning new things. There is no way to avoid falling for them. You will do this from time to time, but learning about them is the first step toward limiting their impact on your work and life.