DEV Community

Cover image for What 10,000 Hours of Coding Taught Me: Success in Software Development
Sotiris Kourouklis
Sotiris Kourouklis

Posted on • Originally published at sotergreco.com

What 10,000 Hours of Coding Taught Me: Success in Software Development

Related to my previous article “What 10,000 Hours of Coding Taught Me: Don't Ship Fast“, I want to further expand on the subject of performance and efficiency, not of your application, but of you as an engineer.

I mentioned that coding is not writing; it is architecture. A good architect is not distinguished by his ability to design a building that will withstand a tsunami or an earth-splitting earthquake, but by his ability to utilize the available space and budget of his customer in the best way possible.

The same principles apply to engineers. Programming has always been about architecture, but now with LLMs, this is more evident. Knowledge of syntax no longer matters as much. So, the terms "coder" or "programmer" are becoming outdated. These terms will soon apply to LLMs. If you are a coder, you will be called a "Software Architect." The rest will mostly be replaced by LLMs.

Past vs Today

In the past, I knew engineers who actually remembered every little syntax quirk from a language or framework. They knew their tech stack so well that they were considered top-tier just by knowing how to utilize their tech stack in the best way possible. They didn’t use Google that much because they remembered almost everything. These kinds of people were really efficient. When we are new to a language or framework, we spend a lot of time googling and reading docs.

Junior Engineers back-in the day, were told to stick to a language or ecosystem and don’t move around much. That way you would become efficient and output much more code. Because 50,000 lines of code 5 years ago, were actually written by people now out of 50,000 lines almost 40,000 are generated.

The “Kings“ of software & Portability Problems

Moving on to those who not only knew their framework well but also knew how to design and make software production-ready, these were the "Kings" of software. If you had experience with architecture and system design principles and knew your stack thoroughly, you paved your way to the top.

Yet there was a huge gap between companies even for those people. Engineers no matter their experience or background they were not much portable. Even if you wrote software for years with Java you could not easily be moved to R or Python. You would lose at least 2-3 months to learn the syntax, quirks and features of that language and the frameworks it uses.

The “Big“ Merge

Suddenly, LLMs appeared. In simple terms, what LLMs did was bring the entirety of Stack Overflow and Google to your fingertips with the “tab“ keystroke. As simple as it sounds, this is really important. It essentially removed the gap between languages and technologies, merging everything into one universal interpretation.

It allowed senior engineers to transition from one language to another without needing to study the documentation extensively, reducing the three months typically needed to learn a new technology to almost zero.

Under the hood, all languages and frameworks share the same philosophy. The syntax might change, or some patterns might differ, but system design patterns remain consistent across software.

Memory doesn’t matter anymore

Yes, remembering things isn’t really important anymore. You don’t need to stick to a technology or framework anymore. So the equation for being in the top 1% went from Output + System Design Knowledge to just System Design Knowledge. This did both Good and Bad.

The Good

If you didn’t know much about System Design and Architecture principles but were really good with memory and coded fast, you could hack your way into bigger companies or get accepted more easily. Your lack of actual knowledge was covered by your output and performance because you were addicted to Python, for example, and knew all the syntax for Python and every Python framework or tool really well.

The Bad

As output doesn’t really matter anymore, it will get much harder for Junior or Mid Engineers to find jobs. Because an LLM equals 3 Juniors. So, projects that were built by 1 Senior and 3 Juniors are now built by a Senior, an LLM, and maybe a Mid to help around.

This will cut the job positions maybe in half, but will open the way for actually good Engineers who were overshadowed by the performance of “code” junkies, as I call them. These are people with no actual programming skills but who coded for years in one language or framework and know it really well.

The Bubble Of Coding Jobs

Around 7 years ago, maybe a bit more, the job market for developers exploded. People with little to no experience started getting paid huge amounts of money because there were simply not enough coding hands to keep up with the demand of the job market.

Kids that were 17, 18 years old, or even younger were hired by companies, getting paid 20-30K per year just by having “React” on their LinkedIn profile. Their skill was actually 0. But nature has to keep its balance in some form or another. Things have to return to their natural state eventually.

Companies with over 7,000 employees, like Twitter, fired almost 5,000 of them. Then more companies followed.

Things are just getting started. From my poor understanding, I see that in the next 5 years, 80% of the coding jobs market will be gone. Only Seniors will exist. This is the start of the end for all the Junior and most Mid developers.

In a nutshell

We have to conclude that LLMs are a revolution, starting to filter out engineers so, only the best will survive. But I don't want Juniors to be disappointed because the barrier to entry for programming has become even smaller. It will just be a bit harder to find a job.

However, you can always build your own projects, which is why Indie Hacking has also exploded. People who might not be great developers in a company can now make a living by creating their own software and monetizing it.

Thanks for reading, and I hope you found this article helpful. If you have any questions, feel free to email me at x@sotergreco.com, and I will respond.

You can also keep up with my latest updates by checking out my X here: x.com/sotergreco

Top comments (1)

Collapse
 
saamiabbaskhan profile image
Saami abbas Khan

Great insights! LLMs are truly shifting the focus from syntax to system design, and it's clear how important deep architectural knowledge is becoming. Thanks for sharing your thoughts