Seven Design Patterns That Will Make Your Code Make Sense to Other People
What Happens to Your Identity When a Tool Can Do Part of Your Job
When writing code was your craft and something else can now do it, who are you as a developer? This ...
Devesh Korde
April 7, 2026
There is a specific feeling that hits somewhere around year three or four of being a developer.
It is not the anxiety of being new. You are past that. You can ship features without being afraid of them. You know the codebase. You know the patterns. You have been through enough production incidents to stop panicking when the alerts fire.
And it is not burnout exactly. You are not running on empty. You are running fine.
It is something quieter and harder to name. A kind of flatness. Like you crested a hill you spent years climbing and when you got to the top you realised the view is just more hills. And this time nobody told you which one to climb next.
I have been sitting with this feeling for a while and I think it deserves a proper name. Not a diagnosis. Not a crisis. Just an honest description of what it actually is.
The first two years of being a developer have a clear shape. You are learning to walk. Every week something clicks that did not click before. You go from not understanding why your code breaks to actually understanding why your code breaks. That progress is visible. You can feel it happening.
Year three is different. You are not struggling the same way. Tickets come in, you close them. PRs go out, they get merged. Standups happen, you have something to say. From the outside you look like a developer who has figured it out.
From the inside it feels like spinning in place.
The problems are not hard enough to force growth but not boring enough to be honest about not caring. They sit in this uncomfortable middle zone where you can do them, you do do them, but you finish them and feel nothing in particular. Not proud. Not frustrated. Just done.
That gap between what the work looks like and what it feels like is the thing. Nobody warns you about it because from the outside there is no gap. You look fine. You are shipping. Keep going.

Here is the specific mechanism underneath the flatness.
When you were a junior, every skill you built was new territory. Learning how to structure a component. Learning when to split a function. Learning to read stack traces without freezing. It all felt like progress because it was progress.
At year three or four, you are still getting better but the improvement is marginal and slow. You are not learning the skill anymore. You are maintaining it. Refining edges. Getting slightly faster at things you could already do.
That is not nothing. That is genuinely valuable. But it does not feel like growth in the way the early years felt like growth, and your brain knows the difference even when you are trying to convince yourself otherwise.
The thing that nobody says clearly enough is this. The learning curve for most skills in most jobs flattens out well before you think it does. You hit the steep part fast. You get reasonably good fast. And then you have years of getting marginally better at something you are already good enough at.
Competence is the plateau. You worked hard to get here and now here is uncomfortable in a way you did not expect.

If you were struggling, people would notice. Someone would say something. You would get feedback. There would be a signal that something needed to change.
The plateau has no signal. It looks like performance. It is indistinguishable from someone who is exactly where they should be and happy about it.
So you do not talk about it. Because what do you even say. I am good at my job and I feel nothing? I ship on time and I cannot remember why I wanted to do this? Everything is fine and it is not fine?
The people around you are either in the same quiet place and also not saying anything, or they are genuinely fine and you do not want to be the one who admits it is not the same for you.
And the internet is no help. The content for developers is either aimed at people who are still learning, which does not apply to you anymore, or aimed at seniors and staff engineers talking about technical leadership and systems thinking, which feels like talking about a country you have not visited yet.
Year three and four sits in a gap that nobody writes for.

The most common response to this feeling is to go wider.
You add TypeScript to your stack. You learn Docker properly. You pick up some system design because the senior engineers seem to talk about it a lot. You start a side project in a framework you have not used. You sign up for a course.
This feels like movement. It is not the same as movement.
Going wider from this place does not solve the underlying problem because the underlying problem is not a skill gap. You do not feel flat because you do not know enough things. You feel flat because what you know does not connect to anything that feels like it is going somewhere.
More skills pointed in no particular direction is just a wider plateau.
The other common response is to wait. To assume the feeling will pass if you keep showing up. Sometimes it does. More often it calcifies into a low-grade relationship with the job where you do it, you do it well, and you stopped expecting it to mean anything years ago.
That is a choice. It is not the only choice.

I have come to think the flatness at year three or four is not really a career problem. It is a direction problem wearing a career problem's clothes.
The question it is actually asking is not what should I learn next. It is not which company should I move to or which technology should I double down on.
The question is what are you actually trying to build with this career.
Not in a big philosophical way that requires a vision board. In a practical way. What kind of problems do you want to be the person who solves. What does useful mean to you specifically. What would it look like to be at year seven or eight and feel like the work mattered in some way you can point to.
Most developers at year three or four have not answered this because nobody asked them and the first two years were too busy to think about it. The plateau is when the busyness stops covering for the absence of an answer.
Sitting with that question is uncomfortable. It is more uncomfortable than picking up a new framework. It requires being honest about what you actually want as opposed to what the career path you landed on implies you should want.
But it is the right question. And the developers I have watched come out the other side of this plateau with something to show for it are the ones who found an answer to it. Not a perfect answer. A working one.

The move that works is not up and it is not wider. It is sideways toward something that actually interests you enough to pull you forward again.
For some developers that is the product side. Getting close enough to why decisions get made that the technical work connects to something bigger than the ticket. For others it is the mentorship side. Realising that explaining things to more junior developers is genuinely interesting and that teaching sharpens thinking in a way that solo work stopped doing. For others it is going very deep into one specific domain, infrastructure, performance, security, accessibility, something where depth has no obvious ceiling and the work starts feeling like craft again instead of maintenance.
The sideways move does not have to be big. It does not require a title change or a company change. It requires finding the part of the job that still has a steep curve for you specifically and leaning into it deliberately rather than letting the job shape your days by default.
The developers who get stuck on the plateau are not the ones who lack talent. They are the ones who kept waiting for the work to become interesting again on its own.
It does not work that way. You have to go toward the interesting. And first you have to be honest enough with yourself to admit what the interesting actually is.
Year three or four is not the crisis it feels like. It is the first time the career asks you to be intentional rather than just responsive. The anxiety of being new carried you through the early years. Now you need something else.
The flatness is not a sign that something is wrong with you. It is a sign that the thing that worked before stopped working and you have not replaced it yet.
That is solvable. But only if you name it first.