Imagine you spent decades improving your coding skills.
Just to see ChatGPT solving coding problems you still struggle with, in a few seconds. What’s worse, these AI tools are only getting better.
Your job, your passion, and your future are being tossed away in just a few seconds.
By a cold-hearted piece of software running billions of calculations in the blink of an eye.
That’s the situation thousands of developers are facing right now.
Every time they use ChatGPT and Github Copilot, they are reminded of their human inadequacy. Of the little computational ability our brain has compared to a machine. Let alone a very big machine (ChatGPT is hosted across several data centers).
AI tools can already do many of the tasks that used to require a human developer. They write code, test it, review it, and suggest improvements.
While many developers are using those tools to become more productive, some are afraid they will become a lot more than a simple productivity booster.
These algorithms could soon replace developers completely.
I think the fear of being made obsolete that many developers are feeling is justified.
But, while I do believe AI will replace a good chunk of coding, I don’t believe it will replace developers anytime soon.
This is because, behind the mechanical act of coding, there is a set of hidden skills that will make human developers irreplaceable for years to come.
In this article, I will show you exactly what those skills are. You will also learn how to leverage them in your everyday life so you become irreplaceable no matter how smart ChatGPT and Github Copilot will become.
What are meta-skills?
Meta skills are skills that allow you to learn and improve other skills. Think of them as the skills behind the skills. It is a bit abstract so let me explain.
For example, when you are learning Spanish, the Spanish language is the core skill.
But, the meta-skill you are learning is, how to learn a new language.
That “skill behind the skill”, the learning a new language skill, is much more valuable in the long run than speaking Spanish itself.
Same in software development.
When you are learning JavaScript, you are not only learning the language itself. You are learning how to learn a programming language and how to think in a structured way.
You are not learning how to code, you are learning how to think.
In my case, learning how to code forced me to learn how to learn. Mastering this skill allowed me to understand what are the principles behind becoming a Senior Developer. Which allowed me to start theSeniorDev.com and help other developers get to the Senior level faster as well.
This is why the first and most crucial meta-skill you will have to master to stay relevant as a developer in the age of AI will be learning how to learn…
You might not believe me, but humans are very fast learners. Computers on the other hand, are not that fast. They might seem fast because they can handle a lot more data than we humans can. But the thing is we don’t need as much data as they do to reach the same level of learning.
While machine learning models need hundreds of data points to optimize their algorithms, humans use heuristics to simplify reality and learn faster.
A human baby doesn’t need to look at 10.000 pictures of birds to know what a bird is. Just show them a few pictures of a bird and they will be able to easily spot one when they see it.
You might disagree with me.
As a developer, you are spending countless hours improving your skills. But you still feel like you struggle to catch up.
That’s because software development is a very complex skill. And it doesn’t take away the fact that you are probably a very fast learner.
The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn. - Alvin Toffler, Futurist
Well, to stay relevant you will have to double down on the skill of learning. But, how can you master the skill of learning new skills…
How to learn faster as a developer?
From all the tips and tricks I tried through the years, I only found one that works the best. It is not chunking information, space repetition, the Feynman technique, or any other fancy learning technique.
The best way to be more efficient in your learning is to master the art of focus.
Focusing is as much a skill as it is a mindset. I will go as far as saying that focusing is the skill where Senior Developers outperform Junior Developers the most.
What does focus mean in practice?
Focusing includes being able to sort information into categories and make connections. Being able to sustain attention and minimize distractions. And being able to filter important information from unimportant ones. All these abilities can be improved through practice.
Mastering the Fundamentals and getting into the habit of prioritizing quality over quantity will already make wonders for your developer career.
Action Item: get into the habit of saying no. Filter the newsletters you are subscribed to, the videos you watch, and the amount of libraries and frameworks you are learning at any given time.
You’ve seen that to be able to focus, you will need to be able to filter information.
But you can’t filter information if you are not able to think for yourself and decide what is important and what is not. Which brings me to the next meta-skill developers need to master…
🚀 Interested in finding your technical gaps as a JavaScript Developer? Take this FREE Technical Assessment to find out what you need to focus on to get to Senior and beyond. 🚀
How did Galileo discover that the world was not flat when everyone else was convinced of the opposite? Albert Einstein went even further and questioned the nature of space and time, discovering relativity in the process.
The names of these people went into history because they were able to think critically.
Critical thinking is the only way to push human knowledge forward.
But, what is critical thinking in the first place? And how can you as a software developer improve this skill? To put it short you can think critically when you can break down complex problems into pieces, analyse and evaluate information to make decisions.
Critical thinking helps you make sense out of confusing information.
It is one of the hardest skills to master.
That is because it involves a multitude of other skills. The fastest way to develop critical thinking is to start trying to reach conclusions by yourself.
At its core, critical thinking means not taking what you are being told for granted.
For example, when a more Senior developer in your team says an SQL database is a better choice than a document-based one, like MongoDB, ask yourself why.
When YouTubers tell you that to stand out as a developer you need to contribute to open source, ask yourself if that’s really the case. Make your hypothesis and test it out.
When people say you need to know data structures and algorithms to get a better job. Before you sink hours into Leetcode, go to the market yourself and see how many technical interviews are demanding data structures.
Critical thinking alone will make you more independent in your work as a developer. And if getting ahead is what you want, solving problems independently is one of the key traits developers should show for them to be considered Senior.
Developers who can think critically will have a considerable advantage over machines. Current AI models won’t be able to think by themselves for years to come.
What’s the secret ingredient behind human discovery? What drove our ancestors to explore? To build all the major inventions that got humanity where it is today? From herding animals to writing to space travel and computers, humans always wanted more.
We first traveled the land. Then we got onto the sea, the air, and onto the sky. The more we discovered, the more we wanted. And finally, we are about to build intelligent computers. Which will eventually surpass our own intelligence.
The fuel of our quest for knowledge?
Curiosity. The desire to know. To discover. To see what’s possible.
Curiosity is a mix of logical reason and human desire. That human desire is something machines will probably never develop. Developers who are looking to work among machines that are smarter than them will have to leverage their hunger for knowledge to gain an edge.
The best developers I know were never the most knowledgeable in their teams.
But they were the most curious. The most hungry for knowledge. The more passionate about software development and the wonders it helps us create.
How can you become more curious?
Fall in love with the craft. Add some extra passion to your day.
Look around at all the tools you are working with and ask yourself “What else?”.
What else can I do to improve this code? Why is our release so slow? Why do we have 80% test coverage? Why not 100%? And why is the Senior Developer so crazy about code quality?
This is it.
If you are a developer looking to stay relevant in the age of machines, focus on these three traits and you have your best shot.
Regardless of whether AI will surpass human intelligence in the next few decades or not, these skills will make a much better software engineer and human.
Take care,
Dragos
🚀 Interested in finding your technical gaps as a JavaScript Developer? Take this FREE Technical Assessment to find out what you need to focus on to get to Senior and beyond. 🚀