I don't have a crystal ball, but in my opinion, if you are asking in the context of employment, I think it's very hard to know, and I'd probably recommend against it if you are starting from scratch. Right now, I think that having experience with coding helps me work much more effectively alongside LLMs. Given the progress in the last five years though, I can't be certain that I will be needed in another 10 years. I already recommend against majoring in computer science with the goal of becoming a software engineer. I don't think that the role will go away, but the number of people needed might be much smaller in 10 years, and I wouldn't want to be a new grad in that kind of market.
> If you already know how to code, do you keep learning?
I'm sure others feel differently, but personally, I find it quite annoying to learn new things right now. 5 years ago, if someone came out with a new tool for say, durable workflows, or a new JS framework, I knew that they poured many days of labor and love into the project. They spent many hours thinking through what they were building and the tradeoffs and edge cases. Now, there's just an avalanche of new projects out there and it's hard to separate the wheat from the chaff. Personally, I'm more focused on developing soft skills right now.
I recently tried vibe coding a couple apps in an environment I’m completely unfamiliar with, Xcode and Swift. Pre-AI, any time I tried, I quickly hit the learning curve and quit, as it seemed to make more sense to invest that kind of effort into skills that are useful at my day job.
The AI allowed me to sail right past the learning curve, building an app I’ve wanted for years in just a few hours. I haven’t really looked at the code at all. With that said, I feel I’ve already started to hit the wall. The app works, it’s fine… but it’s got weird behaviors the AI doesn’t seem to be able to fix. The animation at the end of the drag and drop is wrong and confusing.. it’s telling me that’s the default animation with no options to change or disable it… I exhausted my AI quota twice on this before giving up. Drag-and-drop feels clunky in general, after quite a bit of prompting to tweak it. I still seemingly have to know how an app should behave and tell it to add all the little quality of life things everyone expects to “just work” on macOS… the AI didn’t assume and add any of it. 25 years as a user on macOS and 20 years in tech is how I see the issues and know what is missing and what to ask for.
If I want the app to actually feel great to use, and be the level of quality I’d expect from others, I can’t keep promoting my way there. It made an MVP, but I feel like that’s as far as it goes. I need to read the human interface guide, learn the frameworks, learn Swift, learn SwiftUI, probably learn some AppKit… if you rely on the AI entirely, your app will only be as good as what the AI can do. Right now, that doesn’t what it can do is an MVP that makes for an impressive tech demo or a personal utility, where you’re ok dealing with the limitations and rough edges.
I did write up my initial request, and tweaked from there. Maybe if I started with a markdown file, describing the full specs, every expected drag and drop action, etc… it would be better. But I keep thinking back to Dave Plumber saying his spec for TMOG was 107 pages long. If I’m writing 107 pages of spec, I might as well just code the app at that point, and learn something along the way.
My experience working with programmers for decades (as an individual contributor, team lead, architect, release engineer, engineering manager) is that great programmers are rare and most programmers are good enough and a few flunk out. Since AI is trained on "the internet" it sees and learns a lot of bad habits, poor coding examples, shortcuts, oversimplified solutions, and therefore, by default, produces code that can be improved. To use AI coding agents effectively, you must be able to spot bad code, suggest better approaches, add guardrails, tests, checks, guidance, etc. to keep the agents on track and improve their output. If you do not deeply understand data structures, algorithms, idioms, best practices, footguns, design patterns, etc., you cannot help the agents provide better code.
> Since AI is trained on "the internet" it sees and learns a lot of bad habits, poor coding examples, shortcuts, oversimplified solutions, and therefore, by default, produces code that can be improved.
This is a huge simplification. AI is also trained on tweets, spam and explicit content, but ChatGPT isn't constantly swearing at you to send your bitcoin to a Nigerian prince.
The mistake people make here is that just because something is represented in the weights, doesn't mean it's representative of its output. And the reason for that is largely the same reason for why if I show you lots of bad code you don't become a worse coder. If anything you'll see bad code and learn to avoid writing similar code yourself.
So long as quality is being reinforced and that process is refined and improved then "model collapse theory" and arguments about how AI will write bad code because it reads bad code will continue to prove incorrect.
I have been using Claude CLI, Codex, Gemini, and OpenCode (Z.ai GLM-4x/5x) for quite a while. I've seen the code they all produce. I've had to add checks as forcing functions to get them to create more loosely-coupled, readable, maintainable, extensible, testable code. They often get stuck, "complaining" that the rules are too hard to satisfy, and then I show them how, make them take different approaches.
I do not mean to anthropomorphize their work, but I do need to improve what they produce. I think a lot of push-back to vibe-coded projects is that the person asking an AI Agent to make something do not or cannot improve what it produces, which goes back to the question asked. Is it worthwhile to learn programming now. I argue that it is.
So, it would be better if models were trained to produce provably correct code, and agent harnesses are improving to help do this, but the models themselves have been shown to be trained to provide the answer they think you want to hear, and declare a task done as fast as possible. They hallucinate (or lie) about running tests, even about writing code at all (sometimes).
How do cloud models "learn" to write better code? Where are the projects that fine-tune an open/local LLM to "learn" from its mistakes. I have yet to see any model improve on its own.
A lot of the best code I've seen is closed source, and unlikely to be represented in existing training data. A lot of the worse code I've see was online. Maybe newer coding models are getting trained better, but most I've tried are years out of date. Maybe my view is affected by trying so many LLMs. Very few have been great.
100% , AI should never be placed in a position where it makes all the decisions itself. Even if it can make the descisions doesn't mean you should let it. A manager is required ,that was said correctly by paul graham.
Also whether you need to learn CS depends on your goal , if you're someone who have to work in corporate or in a company then learning CS is still required.
But if your only goal is to make something using your own creative ideas then not learning CS is valid.
But it also depends on what kind of person you are. For me example i only started using AI to speed up my working once I understood everything. Some people hate completely depending on something or someone which leads them to learning the skill so they can stop depending.
Yes, I think people should still learn to code. Why? Well, a few reasons really:
First, if the AI is unavailable, you at least have a backup plan. You can make changes to your website or web app even if Claude or Codex or whatever else is available. That's useful if you're using third party services.
Secondly, it lets you delve into the code and understand where things have gone wrong if the agent gets stuck in a loop or keeps making poor decisions. If you let the AI handle everything, then you're up a creek without a paddle if said AI gets stuck and can't make any progress.
Finally, it's sometimes quicker and more efficient to make a change without using AI, especially if it's a small scale one. Lots of times I've wanted to add a new form field or tweak some random CSS rule, and being able to do that myself made things a lot quicker.
You say it better than be. This is my experience also. What surprises me is that I see so many important "coders" saying things like "I have stop coding, AI is doing it all" They will lose control of the code and forget how to do it well.
Def, i think this is the most important time to learn coding because now we interact with computers more than ever. And a good programmer who is able to think in code, write good programs rather than just instructions will do much better.
We all learn how to implement quicksort, but no one ever does it in practice. But if you don't know how to implement it, you don't really know how it works. So as long as you need to "know how it works", yes?
Absolutely. I write a lot of code in 2026. You've got to be able to reason about multiple abstractions, and writing is thinking. In many situations, that means getting down to the code.
Paul Graham use to say something like: You can't think well without writing well. If I interpret it well, he views writing not as a way to record thoughts, but as the actual tool used to discover and refine them.
If I understand he says this related to regular text but we could extend to writing code too.
If there's one thing that I attribute the relatively modest success I've had in my life it's that I'm consistently predicting where we'll be in 10 years and optimising my life to position myself well when that comes.
Right now I'm strongly advising people not to care too much about narrow academic or intellectual pursuits because I think those skills will be almost entirely redundant to AI in a few years.
Learning to code today seems absolutely insane to me honestly. If you just want to understand at a high level how code works, then cool spend a week or two on it, but obviously outside of very niche edge cases which you can't build a career around humans won't be reading and writing code for much longer.
I'd even expand on this to say people should broadly avoid tech as a sector to learn anything in at this point. There will be a lot of disruption in the coming years. Hardware and software are going to change to better suite an AI-first world and this means almost any tech skill run a risk of disruption.
That said, I struggle predict past 10 years these days. In some ways we're now just weighing different sized infinities. In a world of AI and robotics perhaps the only good bet to make is that human are of no value anymore. This is the world I am personally preparing for. Any skills you learn today would ideally be in preparation for this.
I'm going to age myself real-bad here, but I remember back when RAD ("Rapid Application Development") was the hotness of the 90s. Microsoft Access, Visual Basic (6), and even web-development itself (e.g. PHP/Wordpress).
People today likely cannot relate, but a big concern back then was identical: If the non-tech users can write their own code/and or code is easier to write, why even learn to be a programmer? What's the point?
It seems absurd now but legitimately it was exactly the same stuff. Like then, programmers will fall into two camps, those that keep up and those that fall behind. The thing with LLMs (and agentic) is that it doesn't change WHAT we do but rather HOW we do it.
So will programmers exist in the early 2000s after RAD? Well turns out, yes, and in expanded numbers. Businesses just expected more from technology, and the personnel gap never really closed. With LLMs the same will likely happen - same number of people, higher expectation.
The limit on how many programmers they'd hire was never "wants." They always wanted more than they could get. The limit was budgets/money. Now more "wants" can be fulfilled (just like post-RAD/web), but the budgets are more or less similar.
PS - Although it should be noted that the economy is not in a good place currently, and we're seeing an unusual employment environment. A lot of which "AI" is blamed on, least of all because companies can save face that way.
Yes, you should learn coding if you want to. You should learn anything you want to learn.
I refuse to give my intellect over to the machine just to blindly consume its homogeneous excretions. I will keep doing what I've always done regardless of how well an AI could do it. I don't need to justify doing so, and neither do you, nor does anyone. It's OK to be a human.
If your goal is making small apps, websites, things that aren't too critical performance-wise, I don't think you should learn to code.
But code isn't disappearing. Calculation-heavy processes, large apps, video games, basically things that need a deep understanding of tradeoffs, still require a lot of human inputs.
Will it be always that way, I don't know. But I'd like to think AI won't totally kill the code, in the same way compilers didn't kill assembly dev.
But still, I am building relatively small apps and I do nor see any AI making clean, organized, long-term code. I do not see any path that they could do it in a near future.
> Should we still learn coding?
As an intellectual exercise, sure.
I don't have a crystal ball, but in my opinion, if you are asking in the context of employment, I think it's very hard to know, and I'd probably recommend against it if you are starting from scratch. Right now, I think that having experience with coding helps me work much more effectively alongside LLMs. Given the progress in the last five years though, I can't be certain that I will be needed in another 10 years. I already recommend against majoring in computer science with the goal of becoming a software engineer. I don't think that the role will go away, but the number of people needed might be much smaller in 10 years, and I wouldn't want to be a new grad in that kind of market.
> If you already know how to code, do you keep learning?
I'm sure others feel differently, but personally, I find it quite annoying to learn new things right now. 5 years ago, if someone came out with a new tool for say, durable workflows, or a new JS framework, I knew that they poured many days of labor and love into the project. They spent many hours thinking through what they were building and the tradeoffs and edge cases. Now, there's just an avalanche of new projects out there and it's hard to separate the wheat from the chaff. Personally, I'm more focused on developing soft skills right now.
I recently tried vibe coding a couple apps in an environment I’m completely unfamiliar with, Xcode and Swift. Pre-AI, any time I tried, I quickly hit the learning curve and quit, as it seemed to make more sense to invest that kind of effort into skills that are useful at my day job.
The AI allowed me to sail right past the learning curve, building an app I’ve wanted for years in just a few hours. I haven’t really looked at the code at all. With that said, I feel I’ve already started to hit the wall. The app works, it’s fine… but it’s got weird behaviors the AI doesn’t seem to be able to fix. The animation at the end of the drag and drop is wrong and confusing.. it’s telling me that’s the default animation with no options to change or disable it… I exhausted my AI quota twice on this before giving up. Drag-and-drop feels clunky in general, after quite a bit of prompting to tweak it. I still seemingly have to know how an app should behave and tell it to add all the little quality of life things everyone expects to “just work” on macOS… the AI didn’t assume and add any of it. 25 years as a user on macOS and 20 years in tech is how I see the issues and know what is missing and what to ask for.
If I want the app to actually feel great to use, and be the level of quality I’d expect from others, I can’t keep promoting my way there. It made an MVP, but I feel like that’s as far as it goes. I need to read the human interface guide, learn the frameworks, learn Swift, learn SwiftUI, probably learn some AppKit… if you rely on the AI entirely, your app will only be as good as what the AI can do. Right now, that doesn’t what it can do is an MVP that makes for an impressive tech demo or a personal utility, where you’re ok dealing with the limitations and rough edges.
I did write up my initial request, and tweaked from there. Maybe if I started with a markdown file, describing the full specs, every expected drag and drop action, etc… it would be better. But I keep thinking back to Dave Plumber saying his spec for TMOG was 107 pages long. If I’m writing 107 pages of spec, I might as well just code the app at that point, and learn something along the way.
My experience working with programmers for decades (as an individual contributor, team lead, architect, release engineer, engineering manager) is that great programmers are rare and most programmers are good enough and a few flunk out. Since AI is trained on "the internet" it sees and learns a lot of bad habits, poor coding examples, shortcuts, oversimplified solutions, and therefore, by default, produces code that can be improved. To use AI coding agents effectively, you must be able to spot bad code, suggest better approaches, add guardrails, tests, checks, guidance, etc. to keep the agents on track and improve their output. If you do not deeply understand data structures, algorithms, idioms, best practices, footguns, design patterns, etc., you cannot help the agents provide better code.
> Since AI is trained on "the internet" it sees and learns a lot of bad habits, poor coding examples, shortcuts, oversimplified solutions, and therefore, by default, produces code that can be improved.
This is a huge simplification. AI is also trained on tweets, spam and explicit content, but ChatGPT isn't constantly swearing at you to send your bitcoin to a Nigerian prince.
The mistake people make here is that just because something is represented in the weights, doesn't mean it's representative of its output. And the reason for that is largely the same reason for why if I show you lots of bad code you don't become a worse coder. If anything you'll see bad code and learn to avoid writing similar code yourself.
So long as quality is being reinforced and that process is refined and improved then "model collapse theory" and arguments about how AI will write bad code because it reads bad code will continue to prove incorrect.
I have been using Claude CLI, Codex, Gemini, and OpenCode (Z.ai GLM-4x/5x) for quite a while. I've seen the code they all produce. I've had to add checks as forcing functions to get them to create more loosely-coupled, readable, maintainable, extensible, testable code. They often get stuck, "complaining" that the rules are too hard to satisfy, and then I show them how, make them take different approaches.
I do not mean to anthropomorphize their work, but I do need to improve what they produce. I think a lot of push-back to vibe-coded projects is that the person asking an AI Agent to make something do not or cannot improve what it produces, which goes back to the question asked. Is it worthwhile to learn programming now. I argue that it is.
So, it would be better if models were trained to produce provably correct code, and agent harnesses are improving to help do this, but the models themselves have been shown to be trained to provide the answer they think you want to hear, and declare a task done as fast as possible. They hallucinate (or lie) about running tests, even about writing code at all (sometimes).
How do cloud models "learn" to write better code? Where are the projects that fine-tune an open/local LLM to "learn" from its mistakes. I have yet to see any model improve on its own.
A lot of the best code I've seen is closed source, and unlikely to be represented in existing training data. A lot of the worse code I've see was online. Maybe newer coding models are getting trained better, but most I've tried are years out of date. Maybe my view is affected by trying so many LLMs. Very few have been great.
100% , AI should never be placed in a position where it makes all the decisions itself. Even if it can make the descisions doesn't mean you should let it. A manager is required ,that was said correctly by paul graham. Also whether you need to learn CS depends on your goal , if you're someone who have to work in corporate or in a company then learning CS is still required. But if your only goal is to make something using your own creative ideas then not learning CS is valid. But it also depends on what kind of person you are. For me example i only started using AI to speed up my working once I understood everything. Some people hate completely depending on something or someone which leads them to learning the skill so they can stop depending.
Yes, I think people should still learn to code. Why? Well, a few reasons really:
First, if the AI is unavailable, you at least have a backup plan. You can make changes to your website or web app even if Claude or Codex or whatever else is available. That's useful if you're using third party services.
Secondly, it lets you delve into the code and understand where things have gone wrong if the agent gets stuck in a loop or keeps making poor decisions. If you let the AI handle everything, then you're up a creek without a paddle if said AI gets stuck and can't make any progress.
Finally, it's sometimes quicker and more efficient to make a change without using AI, especially if it's a small scale one. Lots of times I've wanted to add a new form field or tweak some random CSS rule, and being able to do that myself made things a lot quicker.
You say it better than be. This is my experience also. What surprises me is that I see so many important "coders" saying things like "I have stop coding, AI is doing it all" They will lose control of the code and forget how to do it well.
Def, i think this is the most important time to learn coding because now we interact with computers more than ever. And a good programmer who is able to think in code, write good programs rather than just instructions will do much better.
I also wrote about my journey with (re)learning coding - https://aishwaryagoel.com/thinking-in-code/
We all learn how to implement quicksort, but no one ever does it in practice. But if you don't know how to implement it, you don't really know how it works. So as long as you need to "know how it works", yes?
Absolutely. I write a lot of code in 2026. You've got to be able to reason about multiple abstractions, and writing is thinking. In many situations, that means getting down to the code.
Paul Graham use to say something like: You can't think well without writing well. If I interpret it well, he views writing not as a way to record thoughts, but as the actual tool used to discover and refine them.
If I understand he says this related to regular text but we could extend to writing code too.
If there's one thing that I attribute the relatively modest success I've had in my life it's that I'm consistently predicting where we'll be in 10 years and optimising my life to position myself well when that comes.
Right now I'm strongly advising people not to care too much about narrow academic or intellectual pursuits because I think those skills will be almost entirely redundant to AI in a few years.
Learning to code today seems absolutely insane to me honestly. If you just want to understand at a high level how code works, then cool spend a week or two on it, but obviously outside of very niche edge cases which you can't build a career around humans won't be reading and writing code for much longer.
I'd even expand on this to say people should broadly avoid tech as a sector to learn anything in at this point. There will be a lot of disruption in the coming years. Hardware and software are going to change to better suite an AI-first world and this means almost any tech skill run a risk of disruption.
That said, I struggle predict past 10 years these days. In some ways we're now just weighing different sized infinities. In a world of AI and robotics perhaps the only good bet to make is that human are of no value anymore. This is the world I am personally preparing for. Any skills you learn today would ideally be in preparation for this.
Yes, it is not required if you don't love it. It never was..
I'm going to age myself real-bad here, but I remember back when RAD ("Rapid Application Development") was the hotness of the 90s. Microsoft Access, Visual Basic (6), and even web-development itself (e.g. PHP/Wordpress).
People today likely cannot relate, but a big concern back then was identical: If the non-tech users can write their own code/and or code is easier to write, why even learn to be a programmer? What's the point?
It seems absurd now but legitimately it was exactly the same stuff. Like then, programmers will fall into two camps, those that keep up and those that fall behind. The thing with LLMs (and agentic) is that it doesn't change WHAT we do but rather HOW we do it.
So will programmers exist in the early 2000s after RAD? Well turns out, yes, and in expanded numbers. Businesses just expected more from technology, and the personnel gap never really closed. With LLMs the same will likely happen - same number of people, higher expectation.
The limit on how many programmers they'd hire was never "wants." They always wanted more than they could get. The limit was budgets/money. Now more "wants" can be fulfilled (just like post-RAD/web), but the budgets are more or less similar.
PS - Although it should be noted that the economy is not in a good place currently, and we're seeing an unusual employment environment. A lot of which "AI" is blamed on, least of all because companies can save face that way.
So do you think that "no-code" is just a trend, and we will all go back to code, just in a different way?
I cannot tell if this is a reference to RAD in the 90s or LLMs today, and I think that kind of shows my point.
Still there are a lot of people who say that learning to code is not necessary
Eat, Shit, Sleep: Doing only what is necessary is not much of a life.
Good luck.
Yes, you should learn coding if you want to. You should learn anything you want to learn.
I refuse to give my intellect over to the machine just to blindly consume its homogeneous excretions. I will keep doing what I've always done regardless of how well an AI could do it. I don't need to justify doing so, and neither do you, nor does anyone. It's OK to be a human.
I love that. "It's OK to be a human"... "we don't need to justify"
It's weird that "should we still learn" is even a question begin asked on this forum of ostensibly intellectually curious people.
I guess a lot of folks really did just get into programming for the money and hated every minute of it.
It depends.
If your goal is making small apps, websites, things that aren't too critical performance-wise, I don't think you should learn to code.
But code isn't disappearing. Calculation-heavy processes, large apps, video games, basically things that need a deep understanding of tradeoffs, still require a lot of human inputs.
Will it be always that way, I don't know. But I'd like to think AI won't totally kill the code, in the same way compilers didn't kill assembly dev.
Your distinction makes sense.
But still, I am building relatively small apps and I do nor see any AI making clean, organized, long-term code. I do not see any path that they could do it in a near future.