Does it still make sense to learn how to code?
This is a question I’ve been thinking about a lot recently.
When I started learning programming more than 30 years ago, my teachers didn’t begin with a programming language.
Instead, they taught us algorithms, flowcharts, requirements, inputs and outputs, conditions, loops, and how to reason about a solution before writing a single line of code.
At the time, I didn’t fully appreciate that approach.
Like most students, I was eager to start coding. I wanted to see something working on the screen as quickly as possible.
Looking back, I realize they were teaching us something much more valuable than a programming language.
They were teaching us how to think.
Then came the 2000s.
One of the most valuable skills a software developer could have was the ability to take over an existing codebase, often a legacy one, understand how it worked, fix bugs, and add new features.
Documentation was often incomplete. Sometimes the original team had already left the company. The only reliable documentation was the code itself.
Reading code, understanding its logic, and safely evolving it became a highly paid skill.
It wasn’t everyone’s favorite job, but there was huge demand for it, especially in banking, finance, and manufacturing, where software was becoming a critical part of the business.
Today, AI is changing that equation.
Understanding what a piece of code does, fixing a bug, or implementing a small feature has become dramatically cheaper.
Yes, AI has a cost. Tokens aren’t free.
But if you compare the cost of generating and iterating on code with the cost of hiring experienced consultants to perform the same task, it’s easy to see why the economics are changing.
So what should a young developer learn today?
I don’t think the scarce skill is writing code anymore.
The scarce skill is understanding the problem deeply enough to ask the right questions.
It’s defining clear requirements.
It’s identifying constraints.
It’s evaluating trade-offs.
It’s recognizing when a solution is correct or subtly wrong, when it’s scalable or fragile, when it’s secure or risky, and whether it’s appropriate for a specific context.
Ironically, the lessons I learned more than 30 years ago feel more relevant today than ever.
Algorithms.
Requirements.
Inputs and outputs.
Conditions.
Loops.
System thinking.
These aren’t just programming concepts, they’re ways of thinking.
And they’re exactly the skills I’ve found myself relying on when designing AI workflows, orchestrating multi-agent systems, and reviewing AI-generated code.
The tools have changed, the fundamentals haven’t.
If you’re starting your journey into software development today, don’t worry too much about memorizing the syntax of a language or framework, or collecting prompt engineering tricks.
Invest your time in building mental models that help you understand how systems work.
Because that’s the part that’s hardest to automate.
And I believe it will remain one of the most valuable skills, no matter how much AI evolves.
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.