You can have 100 projects of five years of experience in one company, and still not be senior.
Because repetition is not the same as growth. That sounds obvious when you read it.
It was not obvious when I lived it.
After five years of programming, I looked strong, on paper: around 100 projects, a team lead title, and forum administrator credibility from the old PHP days. Those things helped me get my foot in the door in Norway.
But they did not mean I was senior.
They meant I had done a lot of work. That is different.
Here’s the uncomfortable part: a long project list can make you confident in the exact habits you should be questioning.
The first job created the perfect illusion
In my first company, we built about a website a week for around four years.
That is a lot of output.
For a CV, it looked beautiful. If someone asked about experience, I could say “100 projects”. |
|
And to be fair, it was not fake experience.
I learned speed. I learned client work. I learned how to deliver. I learned how to talk to project managers and customers. I also got my first chance to lead people, which went badly at first because my ego was bigger than my skill.
Very educational. Not very pleasant for everyone around me.
|
But there was a catch.
Around 60 of those projects were probably very similar.
Same kind of websites. Same kind of problems. Same CMS. Same framework. Same route.
And when you drive the same route every day, you get good at that route.
You know the corners. You know the traffic. You know where the road gets weird.
But that does not mean you can drive anywhere.
That was my mistake.
I counted projects, but I did not count variety, difficulty, or fundamentals.
Project count is evidence, not proof
A project list can prove that you showed up.
It can prove that people trusted you with work.
It can prove that you can finish things.
But it does not automatically prove that your skills are deep.
If the projects are similar, they may only prove that you got faster at the same patterns. And if some of those patterns are bad, you are not just practicing skill.
You are practicing debt.
This is where many developers get trapped around five to ten years in |
|
You are no longer a beginner. You can deliver. People trust you. Maybe you even have a senior or lead title.
But your confidence is built inside a narrow environment.
Then something changes.
|
A different product. A different company. A deeper interview. A system that has to live longer than your usual project cycle.
That is when the illusion starts making noise.
Norway exposed the gap
When I moved to Norway, I thought my experience would carry me.
After all: I had around 100 projects.
I had been a team lead.
I had been active in forums.
I had already survived real client work.
Then I joined a small company in Bergen, and the work changed.
This was not another typical website.
It was an app for one client, and it had to be developed and maintained for many years. Requirements changed. The product evolved. The code had to survive.
My code did not like that.
Not one bit.
Suddenly the old tricks were not enough. The thing that worked fine when projects were small and short-lived started breaking when the product had to keep changing.
I knew one CMS and one framework. But I had skipped too many basics.
Object-oriented programming was weak. Refactoring was scary because changing one thing broke three other things. The code became tightly coupled spaghetti, like WordPress if WordPress had a bad week.
And then the painful sentence arrived:
I was not senior. I was a junior developer carrying five years of bad habits.
That sentence hurts writing, even after 20 years of experience.
It also helped.
Because once you name the problem correctly, you can finally stop solving the wrong one.
Long-lived products reveal the truth
Short projects can hide weak fundamentals.
A long-lived product usually cannot.
When you build a website, ship it, and move on, you may never fully feel the cost of your decisions. The next project gives you a clean start, and the old mess becomes somebody else’s archaeological expedition.
...