DEV Community

Cover image for #1 Reason Why You Don’t Improve As a Software Developer
⛩ Caio Zullo for ⛩ Essential Developer

Posted on • Originally published at on

#1 Reason Why You Don’t Improve As a Software Developer

Watch on YouTube

In this video, we are going to discuss the main reason why we set goals to improve but sometimes cannot achieve them.

There’s a common trend that we all go through. It’s one of the oldest problems people face and, as part of our evolution, it’s deeply wired in our brains. The problem is: we want something, but we don’t want to do what it takes. We procrastinate and avoid doing the work at all costs. In other words, we want to avoid the uncomfortable.

The Plateau

Our learning curve looks typically like this:

The plateau.

We want to learn something new, and we may even think we know what we need (or What We Know We Don’t Know). All of us go through this initial phase with ups and downs until we hit a roadblock or a plateau. It feels like we stopped progressing.

When we hit a plateau, it doesn’t mean we’re doing something wrong, but often it’s a sign we need to do something different. Progress often doesn’t come from doing the same thing that generates the same mediocre results. A roadblock usually means we should go back to basics and reevaluate if we really got it right. That’s one of the most critical steps to improve. We probably have some misconceptions that need to be adjusted.

The problem is that we might not even know we really need. We call this gap “What We Don’t Know We Don’t Know.”

The gap from “what we think we need” to “what we really need.”

To make matters worse, we usually expect continuous growth. Always going up. Continuous growth is, most of the times, an “Unrealistic expectation.”

Unrealistic expectations.

We often hear people say that: "Developers don't follow good practices because they don't know them or don't understand their value." and we believe that’s a fallacy.

The more we teach, meet, and collaborate with developers, the more we see that many developers already know what they should do to improve. Many developers know which skills will get them to the next level. They don’t need to “gather more information” – they need to choose a path, act and stay in the path with discipline and focus.

The Comfort Zone (The 99%)

Fear of the plateau and avoiding the “adjustment phase” plus unrealistic expectations create a false perception of progress. The false sense of progress is also called the “comfort zone.”

The comfort zone prevents us from achieving what we really want or even worse, it may create limiting beliefs. We often hear developers say “I really tried X/Y/Z, but I just can’t do it.” Which is limiting and not true. Everyone can do it.

The comfort zone prevents us from achieving our best potential.

As you can see in the graph, the red line shows the common path 99% of the people take. The comfort zone. And it’s often far from what we really need. And the times where growth seems to go down, are probably times where we try something new–trying to improve. When we try something, it’s natural that performance can go down. The problem is that mostly we seek the “Unrealistic Expectation of Continuous Growth,” and we go back to what we know (the comfortable). We give up too quickly.

And to be fair, there’s nothing wrong in staying in the 99% or the comfort zone. Most people can have a decent living in this zone. However, we often find individuals unhappy with their performance, and they want to improve.

The high-performance individuals (The 1%)

When learning to ride a bike, for example, we are probably going to move slower than we would if we just walked. One may say “walking is faster and easier than riding this bike, why would I waste more time trying to balance in this very uncomfortable mode of transportation?” The same happens when we’re learning advanced software development topics, collaboration skills, leadership, software architecture, automated testing, etc.

A more realistic approach of high-performance individuals looks similar to the green line in the graph below.

The uncomfortable zone high-performance individuals go through.

It starts similar to the others, but growth goes down as these individuals understand that to ride a bike properly, they need to take the supporting wheels off, fall a couple of times, and practice until they learn. They had to slow down at first, but, as they learn to ride the bike, they will be able to move much faster in the future.

Our brain is wired mostly to survive, not to go through the uncomfortable phase.

And most of the time we know what we have to do to improve. We know the skills we need. We attend courses. We read books. We even practice it for a while. But we don't have the discipline or focus to keep doing “what we know we should be doing.” So, it doesn't matter what we know. It matters what we do with what we know.


When learning how to ride a bike, it may seem like an impossible task at first. And incredibly enough most people learn how to ride the bike. Why? A big reason is that there’s usually a person we trust pushing and helping us go through the fear (the uncomfortable phase). That’s why it’s so important to find mentors we trust. Mentors that have achieved what we want and that can guide us through the tough phases to achieve the “impossible.” However, mentors can’t do the work for us. We have to do it.

It’s not our fault that our brain is wired to avoid uncomfortable situations, but it’s our responsibility to do something about it. ⛩

Subscribe now to our Youtube channel and catch free new episodes every week.

Originally published at

We’ve been helping dedicated developers to get from low paying jobs to high tier roles – sometimes in a matter of weeks! To do so, we continuously run and share free market researches on how to improve your skills with Empathy, Integrity, and Economics in mind. If you want to step up in your career, access now our latest research for free.

Let’s connect

If you enjoyed this article, visit us at and get more in-depth tailored content like this.

Follow us on: YouTubeTwitterFacebookGitHub

Top comments (6)

dev3l profile image
Justin L Beall

Perfect practice makes perfect...

The Talent Code (book) talks about a concept called deep practice that aids in skills development. Deep practice is a form of deliberate practice that specifically focuses on toeing the comfort zone line.

Just as you are discussing learning outcomes and expectations in your video, I have found that improving the skill of learning greatly increase my ability to develop other skills.

I find simple practices, such as doing programming katas (fizzbuzz, bowling, game of Life, etc), reinforces good coding practices. I have come across 'senior' engineers in my career who scof at these simple problems... The point of these katas is not to solve a hard problem, but two Focus on the mundane that is often overlooked.

Syntax familiarity, writing loosely coupled tests, clean code, and refactoring without side effects should be as intuitive to a programmer as breathing is to all animals...

bohdanstupak1 profile image
Bohdan Stupak

First I've heard about the plateau on my early days as a software engineer so I had plenty of time to think about it (6+ years in fact). While your great article is definitely true and the key to overcoming a plateau is doing a lot of work outside your comfort zone, I still consider software craft more like multidimensional surface (especially as full-stack SE). So sometimes we face another challenge: to reach at least plateau-level in multiple disciplines. And sometimes I see how growing in one dimension helps me to grow in another: i.e. knowing some basic functional programming concepts helps me to become a better object-oriented developer.

jcopella profile image
John Copella

Another phrase for this is "effort shock", which I think first appeared in this very insightful article from Cracked:

(yes, Cracked)

mrbenosborne profile image
Ben Osborne

This is a great article! 👍

s_baltes profile image
Sebastian Baltes

I'd be really interested in some empirical foundation for the described "plateau" effect. Are you aware of any?

You may also want to look into the concept of deliberate practice ("prolonged efforts to improve performance while negotiating motivational and external constraints", see also my related post).

jaymeedwards profile image
Jayme Edwards 🍃💻

Beautiful article. Great content and message!