Skip to content

From Novice to Ninja: What It Really Means to Be an Advanced Developer

Alex Xu on X

Learn to learn code faster, using techniques honed by years of study, neatly packaged into one book: How to Learn Code

If you ever wondered what it is like to be an advanced developer I want to give you some clarity.

First, lets define advanced.

An advanced developer is advanced in a niche. Once they switch niches they restart as a noob.

Yes, previous niches make you faster at learning new niches.

But if we define what it means to be advanced in one niche, I would say it like this…

  1. You can solve 95%+ of coding problems without asking people. Just you, your LLM and the internet.
  2. You can pump out performant code.
  3. It is all clean.
  4. You can pump out a LOT of it.

What do I mean by all this?

Well, if you divide a major project into 1000 smaller projects that you have never done before, you should be able to solve nearly all of them without help.

All your code is performant. It is clean.

How much is a lot of code? Well I consider myself an intermediate web developer and I can pump out 15 fully logical backend endpoints in a day.

Photo by Lala Azizli

We are not talking small functions and logic either.

Most of these endpoints require pagination, filtering, sorting, schemas, edge cases, special libraries, other micro services and the endpoint has to fit the React developer.

I have to give forethought to it all.

I can create a system design then make 30+ required endpoints in like 2–3 days.

Fully functional, clean and performant.

And that is not even senior dev work. 

A true senior dev pumps out 25+ endpoints, creates whole projects in like a week, is managing 7+ code bases and its all clean and performant.

I know developers like that, I have seen them program like that live on camera.

When I showed off how much code I pumped out in a day to my senior software friend he said, “cool story bro, now do it again”.

This is the reality. Not all senior devs with 12+ years of experience get there.

There are many many people in high positions who are not truly advanced developers.

And, the same, there are many many developers out there who are truly advanced.

They are unfathomably good at coding in their specific niche and it blows me away…

Learning when advanced

You would think as you advance you would learn less.

I mean there is a point where you finally just know most of it.

You know more so there is less to know right?


South Park

The world of programming is so vast, near infinitely, so wildly large the more you know the more you discover you don’t know.

What actually happens is you fill the pre-requisites for the stuff you didn’t know.

To learn Kubernetes you need Docker, to use Docker well you need command line.

To develop a a solid backend you need MVC knowledge and frontend knowledge. Then you need to place it in a container, scale it to kubernetes, make load balancers.

Oh btw there are dozens of choices of tools and the standards switch up every 3 years.

You learn this and discover the rotations and cycles which were only possible to see in retrospect.

New technology comes out? Great, time for another cycle. This time I will actually pivot to learning something new.

As you advance you learn more not less. Faster, not slower.

For example, after 10 years of learning to do web development, you are finally ready to do project architecture work in some niche.

You discover there is a whole world within systems engineering itself.

And all those 10 years of development were a prerequisite the whole time!

After 20 years of programming it should feel like you barely scratched the surface.

Yes, you will be able to do almost anything within the niche.

But, if you are doing it right you should be learning faster than ever according to the time you put in.

You should be able to study 1 hour and on average learn the most you ever have in that hour.

Amount learned/hour gets higher as you advance.

You appear like a genius, when in reality you just fulfilled the entry level prerequisites after 10 years.

Other developers will seem smarter

Truly, as a beginner we cannot fathom the depth of understanding from a true senior engineer.

Photo by Alex Rose

What you discover is that senior engineer you know, actually knows more than you thought before. 

The more you know, the more the senior dev appears to know.

More than you could have ever conceived.

At least if you are hanging around fully committed seasoned developers.

We see them in their collared shirt and Goofy shorts and think nothing more. 

When in reality they are a massive totem encyclopedia we could never understand unless we already read it.

People just unassumingly say “hey man” and the senior dev just says “hey” and no one has a clue that guy is walking around with that much, have to say it… knawledge! Freakin Tai Lopez man.

Professional engineers seem so much smarter as you advance, it is pretty wild..

The more you learn the more you see they already knew what you did!

In fact, those 20+ year veterans did it like 10 years ago and they have been learning the whole time even further then where you are now!

Photo by Sigmund

For me when I discovered how cool system designs were and how test driven development is so cool, my senior friends called me a noob.

Like really? Yea really. That’s beginner stuff Jesse, keep pumping out code.

If you want to really get advanced, you should be able to design projects in a topic, database and all, without even looking at the code.

Compact productiveness is part of being an advanced dev. It is a skill that must be learned in of itself. Can you pump out the work in 3 hours just in time for lunch?

“Oh btw Jesse I got to where you are at 5 years ago, look at all these humungo projects I completed.” In literally 5+ languages, tools and all kinds of things.

Just mind blowing how fantastically productive these types of devs are.

And developers like this are not even rare. There are plenty in every niche.

From graphics programming, operating systems to web development. They exist in every field.

What is even crazier, these people are not even particular geniuses.

They earned their genius through learning code over time, for years….

Respect from other developers

Another transparency, some programmers won’t talk to you unless you are at least an intermediate dev.

Photo by Christian Buehner

They have become so good it requires patience to tolerate beginners.

They have totally forgotten what it was like to just start programming.

I swear its like joining a club.

I remember joining voice calls and being too new to really know what was going on.

I was ignored by project leaders. They would get frustrated with my “basic” questions.

Years later I join these same voice chats, we speak and I respond with understanding.

They think, “finally a human being and not some random noob”.

It is a bit elitist I know, but that is how a lot of devs think.

By being able to demonstrate proficiency advanced developers will actually talk to you.

You appear smart but don’t even know it

It turns out most developers are beginners. At higher levels you can talk about things that seem basic to all the advanced developers but to a new person we might as well be speaking a foreign language.

Photo by Marc Lopez

Beginners are in the heat of battle trying to reach greater heights and we just rep all the things they are really struggling with.

Its funny how more experience tends to lead to an underestimate of all the effort it took to get to the present.

Because of this you appear smarter than you even view yourself to all the non-experienced devs.

It feels nice to garner respect and the good developers wield it well with kindness. Those are the guys I love talking to.

Imposter syndrome fades

This might just be me, but I don’t have imposter syndrome. Not at all.

Among us

I have the opposite, I believe I can do everything or anything.

It could be a personality trait. But, I did notice a trend about it.

The more I knew about a particular niche, the less of an imposter I felt in it.

Sounds basic, but that is how it worked for me.

See a job that says AWS, Docker, Kubernetes, Spring, backend engineer.

I feel imposter syndrome. “I am not ready, what the heck is Kubernetes, what does AWS even look like”.

Then I study all 4 of those 6 months straight, doing 3 months of AWS, 2 months of Docker -> Kube, 2 months of Spring.

Guess how I feel after that?

Almost no imposter syndrome. This has to be trend. It just has to be.

If you have done the thing before and you know what its about, the imposter syndrome has to get reduced. How could it not?

Is that the cure? I think in many cases it is.

Advanced developers have less imposter syndrome than beginners.

Anywho, I hope you learned something…

CTA: Check out my book on learning code

Happy coding!


The fundamentals of coding:

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Learn to learn code faster, using techniques honed by years of study, neatly packaged into one book: How to Learn Code