Cognitive Bias as a software developer

Cognitive Bias as a software developer

Featured on Hashnode

When we think of software development, the first thing that comes to mind is technical skill and expertise. But what you may not realize is that cognitive biases, such as Dunning-Kruger and imposter syndrome, can have a significant impact on the quality of your work and your career satisfaction.

Dunning-Kruger Effect

Ahhh, Dunning-Kruger Effect, is the most intriguing of all cognitive biases!

Have you ever wondered why sometimes people are overconfident in their knowledge, skills and abilities and why they don’t recognize their competence gaps?

The Dunning-Kruger effect is a psychological phenomenon that explains it all. Developed by social psychologists David Dunning and Justin Kruger in 1999, it describes the ‘cognitive bias that causes people to overestimate their knowledge and capabilities’.

To understand the Dunning-Kruger effect better, let’s break it down into four phases:

  1. Unskilled and Unaware (know nothing): This is the first phase of the Dunning-Kruger effect. People in this phase lack the knowledge and skills needed to accurately evaluate their abilities and thus, overestimate their abilities.

  2. Moderate Skills and Unaware (peak of "Mt. Stupid"): This is the second phase of the Dunning-Kruger effect. In this stage, people are slightly more informed than in the first stage but are still unaware of their areas of improvement. As a result, they tend to overestimate their skills in comparison to their peers.

  3. Highly Skilled and Unaware (Valley of despair): This is the third stage of the Dunning-Kruger effect. People in this stage are highly competent in certain areas, but they still haven’t yet realized the competency gap that lies between them and experts. Thus, they overestimate their abilities greatly.

  4. Expert and Aware: This is the last (and the most optimal) stage of the Dunning-Kruger effect. People in this stage are aware of the limits of their knowledge and skills, and thus, don’t overestimate their abilities any longer.

What impact does it have on our life?

The effect of Dunning-Kruger can be seen in many different aspects of our daily lives, including work, school, relationships, and even politics.

It can lead to people forming attitudes and beliefs that are inaccurate and oftentimes, unsafe. As a result, the inaccurate assumptions made by people in this stage can have very real consequences on the lives of others.

How to Overcome Dunning-Kruger Effect?

The best way to overcome the Dunning-Kruger Effect is to recognize that you may not know as much as you think you do. Make sure to stay humble and open-minded, and strive to become an expert in your chosen field.

Additionally, be aware of your skills and how you can improve them. Invest in yourself and take feedback constructively. Finally, be wary of those who appear to be highly skilled and knowledgeable but don’t want to admit their flaws or gaps in knowledge.

The Dunning-Kruger Effect is an interesting phenomenon that is worth taking notice of! Be sure to recognize it when you come across it and work to overcome it.

Imposter syndrom

Do you ever feel like you don't know quite enough to succeed like you're an impostor? If you do, you're not alone! Imposter Syndrome is a phenomenon where, despite their accomplishments and abilities, an individual doubts their skills, intelligence, and accomplishments, attributing any success to luck rather than actual merit.

Imposter Syndrome can have a major impact on your work. People suffering from it may:

  • experience heightened levels of stress, anxiety and depression

  • irrationally second-guess their accomplishments

  • place unrealistically high expectations on themselves

  • procrastinate out of fear of failure

  • avoid taking on new challenges

  • find it difficult to receive and accept compliments

  • have difficulty delegating tasks to others

Recognizing Imposter Syndrome can be difficult, as it often manifests as personal feelings of inadequacy or insecurity. Here are some of the tell-tale signs:

  • Comparing oneself to others, feeling they are not as smart, talented, or qualified

  • Having an irrational fear of making mistakes

  • Avoiding taking credit for achievements and praise

  • Isolating oneself out of fear of being exposed as an impostor

  • Needing to be “perfect”

Imposter Syndrome is closely related to the Dunning-Kruger effect, which suggests people with low expertise may overestimate their ability, while those with high expertise may underestimate it out of self-doubt. This can lead people with high levels of intelligence to suffer from Imposter Syndrome, as they are more aware of the complexities of a situation and feel their actual understanding is lacking.

A key way to combat Imposter Syndrome is to develop concise self-affirmations, focusing on what you have achieved and can do. It can also be beneficial to see a therapist who can help you address the underlying feelings of insecurity that lead to the Imposter Syndrome and learn more efficient ways of problem-solving.

If you think you may be suffering from Imposter Syndrome, don’t be embarrassed to seek help. Many excellent professionals can help guide you toward a solution.

Egoless programming

Egoless programming is all about de-coupling the developer from their code, acknowledging that even the best developer can produce code that requires improvement.

When it comes to the review process, a critic should be seen as someone who has a higher opinion of us and our capabilities. That’s why if a review comes back and says we can do better, it should be taken as a sign that the reviewer thinks we are capable of even more greatness.

No matter how talented we are, there will come days when our code isn’t as great as other times. This is completely normal and doesn’t take away from the developer’s talent, nor implies that they are not a great coder.

Egoless coding is all about embracing this cycle of highs and lows, dissociating ourselves from how well a particular piece of code works.

It may be tough at first: we all get attached to our hard work. But once we learn to accept and move on from our less-than-perfect code, it can be liberating and help boost our self-confidence.

So whether we are coding for the first time or an experienced coder, egoless coding is a great practice to cultivate. And who knows, it may just help make us better developers in the long run.

My plan for the future

Know you are more than one skill

We all have that one core skill that defines us: developer, manager, designer, researcher, etc. We use this as a label for ourselves to make it easier for us to focus on and get better at what we are doing.

However, this can quickly spiral into Imposter Syndrome. We tell ourselves that if we aren't perfect at this one skill, then we don't belong in our profession.

It's time to take a step back and reassess our definition of ourselves. Instead of seeing ourselves as one big skill, we need to break it down into its most basic components. For developers, this could mean taking a look at the individual programming languages and related technologies they know, as well as their software craftsmanship, testing, and debugging abilities.

Assessing our level of proficiency in each component of our core skill can help us more accurately gauge how skilled we are at our profession. It also allows us to more effectively focus on the areas where we need to do better, rather than putting all the onus on ourselves concerning the "one" skill.

In short, don't box yourself into one core quality – think of yourself in terms of all the individual components that make up your career. Assessing yourself on a more granular level can help to lift the sense of pressure and Imposter Syndrome we experience.

Know where you are

So, how do we identify our skill level and locate ourselves on the Dunning-Kruger Path? A great place – and potentially the easiest – to start is by asking our colleagues for their honest opinion of our capability. This is by no means the only way, but by contrasting our point of view with theirs, it is much easier to identify our place on the path.

If you view yourself as highly capable in certain areas, yet your peers do not, you may be on the mountain of the Dunning-Kruger Path. If you view yourself as having very little ability in certain areas, but your colleagues think otherwise, you may well be in the valley.

The important thing to remember is that there is no harm in being on the mountain, as it means that you have room to progress and develop further.

Identifying your place on the Dunning-Kruger Path is a vital step in improving your sense of self-worth and developing the skills necessary to be the best at what you do. So, don’t be afraid to ask your colleagues for help – you must put your ego aside and recognize the role others can play in helping you improve.

Know what you need to know

It can be daunting when you're suddenly asked to take on a new role like managing a team that is far more competent or experienced in certain fields than you. You might be feeling like a fraud and wondering why you are even there and if you can do the job justice.

But don't panic! Just remember that every position requires a different type of skill set and you don't necessarily have to be the best technically to lead the team. After all, no one expects a football coach to be able to play better than the team. They just have to have specific qualities and abilities to enable them to coach the team and help them reach their full potential.

It's about finding the relevant skills you have that make you an ideal candidate for the job. A good manager can lead the team by setting clear direction, delegating tasks and providing support when needed. Yes, there may be competencies and areas of expertise that the team holds that you lack. However, this doesn't necessarily mean that you can't be a great manager.

You don't simply have to replicate the same skills and knowledge as your team. Leaders should be willing to embrace new mindsets and develop serviceable skills. Building communication and relationships are also essential to being a successful manager.

Taking on any new role is never easy and having to manage a team made up of experienced experts can be nerve-racking. But by acknowledging the skills that you have and learning the ones that you don't, you can be more confident in your ability to make a positive impact in the new role.


Recognizing our own cognitive biases is essential to our lives and work. By being mindful of the possibility that our views may be clouded by preconceived notions, we can begin to make decisions more consciously. While we can never entirely remove the influence of bias from our decisions, by understanding the nature of our biases, we can learn to live with them and make the best decisions possible.

Did you find this article valuable?

Support Sébastien NOIROT by becoming a sponsor. Any amount is appreciated!