This is going to be a sensitive, nuanced, and complicated topic:
Should you learn to program in 2025?
hell no - Jensen Huang CEO of NVIDIA
Especially given two market shifts:
Increase adoption of AI to write code.
It is difficult to find a job as a programmer.
Are the two things linked? Maybe a bit, but I see them as two separate events intertwined by narratives.
Here are my thoughts…
spoiler: you should and if you want to get started with the coding aspect check out this Scrimba course: learn Python (5.6h and free).
First off… What’s coding and what’s programming?
Coding is the process of writing instructions for a program, while programming is the process of designing and developing a program.
You take any experienced enough programmer and they can feel this difference in their bone.
The junior programmer usually has no idea it’s two separate things. Coding and programming are interchangeable term for sitting in front of the computer and writing lines of code (which may or may not work).
A truly senior programmer will be able to look at all the context fed through their senses and start formalizing and refining a solution.
This solution will be reworked and improved while they pluck context and add it to the requirements and constraints.
Once this flow starts, there is a moment where everything clicks in the senior programmer's head. They feel satisfaction and they “know” in their gut that this system is “right”.
The number of lines of code written could be 0, yet they feel they achieved their purpose because they understand that the coding aspect will be a deterministic process.
Yes, there is back and forth between that planning and the coding, but in general it follows an overarching blueprint.
What LLMs are good at?
LLMs right now are great at producing code in constrained environments. You still need to gear them in the right direction, sometime they do hallucinate, but if you have a good enough vision of what you want to build they are helpful co-pilots.
The more precise the context, the more generally solvable the tas the better they are at generating a solid working piece of code.
What they aren’t good at?
LLMs aren’t going to figure out for you what you should be building.
They won’t figure out by themselves the unseen context that is business critical and add it to the requirements.
They won’t understand what context has become suddenly irrelevant.
They won’t plan and formalize the solution in a way that makes sense for the specific stakeholders in your business.
You need a programmer for that.
Programming is formalized problem-solving.
There is a whole art that is applied to make sure that whatever information problem we need to solve as humans can be deterministically achieved by a computer.
The part that is complex here, is the understanding of the problem in all it’s constraints and requirements.
Being able to articulate that clearly and succinctly is what a good programmer does.
Do you remember what’s needed for an LLM to generate accurate code?
Context.
So logically yes, you should 100% become good at programming. Do use LLM co-pilot for coding as you develop your programming skills.
But put your big brain on focusing on the user needs and on having stellar communication skills with other humans.
That’s what good programmers already do.
Great post!