DEV Community

Cover image for Why (not)learn programming.
Viktor Vítovec
Viktor Vítovec

Posted on • Originally published at vvitovec.com

Why (not)learn programming.

A few years ago, programming felt like the default answer to: what should I learn if I want a valuable skill? And honestly, it made sense. If you knew Python, JavaScript, or TypeScript, you could suddenly build things that most people could only describe.

Today I would not tell someone: learn a programming language and you are set. Knowing syntax is not the main skill anymore. AI can produce a ridiculous amount of code in a day. Roughly the kind of volume a normal employed developer would write by hand over years. The exact number is not the point. The point is that writing lines of code became much cheaper.

That does not mean programming is useless. It means the reason to learn it changed.

Programming work changed

In the past, a big part of the value was simply being able to turn an idea into code. You knew how to write an endpoint, a component, a script, a database query, an API integration. That is still useful, but it is not as rare as it used to be.

If I have a fairly clear system in my head today, AI can write a large part of the implementation for me. Not perfectly. Not without review. But fast enough that typing code is usually not the bottleneck anymore.

The bottleneck is more like: do you know what should be built? Do you know where the boundary should be between frontend, backend, and database? Do you know when a simple script is enough and when you need a real app? Can you tell when AI wrote code that looks clean but will break in a month?

That is the new line, in my opinion.

A language is not enough

Learning Python or TypeScript is great. Really. I just would not expect it to automatically make you employable or make someone trust you with a real product.

A language is a tool. If you only know the language, you mostly know how to phrase instructions for a computer. But real software is not a language exam. It is decisions around data, users, errors, deployment, security, performance, UI, operations, and a thousand small details that tutorials often skip.

I know Python and JavaScript/TypeScript, but honestly, I barely write most code by hand anymore. Most of the useful work is deciding how the project should behave, how to split it up, what should stay simple, what needs to be robust, where it can fail, and how to verify it. On projects like my portfolio or internal tools, the main work is often the system, not the lines.

What I would learn instead of “just programming”

If I started from zero today, I would still learn coding basics. But I would treat them as the entry ticket, not the final goal.

I would learn product development first. How to take a messy problem and turn it into something someone actually uses. How to tell whether I am building the right thing. How to choose a small first version instead of a giant plan that never ships.

Then I would learn how programs are structured. Not necessarily writing every file manually, but understanding why a project has folders, modules, database models, API layers, tests, env vars, and a deployment pipeline. This is exactly where AI still needs a person holding the direction.

And I would learn problem solving. Reading errors. Finding causes. Figuring out whether the issue is in the database, cache, config, network, UI, or my own assumptions. AI helps a lot here, but it still needs someone who knows what to check next.

Why programming is still worth learning

I do not want this to sound like “do not learn code.” That would be stupid. If you do not understand code at all, you are completely dependent on whatever AI outputs. That is risky.

Programming basics let you judge whether AI output makes sense. You can see when a function does something different from what you asked. You understand why types do not match. You can spot a piece of code that bypasses security or a migration that might delete data.

You also ask better questions. When you use tools like OpenAI Codex or other coding agents, the result depends a lot on whether you can describe the problem precisely. “Build me an app” is not enough. You need to know the inputs, outputs, states, and constraints.

So yes, learn programming. Just do not treat it as the final destination.

The new value is orientation

I think the gap will grow between people who can write some code and people who can orient themselves inside software.

Orientation means you can open an unfamiliar project and slowly understand what is going on. You can find where a bug starts. You can build a mental map of the system. You know what to give AI, what to review manually, and when the better solution is to simplify instead of adding more code.

That is much stronger than memorizing syntax. AI can fill in syntax. But a bad product or architecture decision can be accelerated by AI too, which only makes it more expensive.

So: should you learn programming or not?

Yes, learn it. But not with the idea that knowing one language is a career by itself.

Learn programming so you understand what AI is doing. Learn to build small things from start to finish. Learn to read existing projects. Learn to structure work. Learn product thinking. Learn to verify, not only generate.

Writing code is cheaper than it used to be. Knowing what code should exist in the first place is more valuable than it used to be.

That is the better reason to learn programming now.

Top comments (0)