Posted by NarcisMirandes 17 hours ago
Ask HN: Should we still learn coding?
"Should students still study computer science if AIs will write most code? ... even if you have AIs writing all your code for you, you're still in the position of an engineering manager, and good engineering managers should be able to do the work of those working for them."
Paul Graham. August 2026 https://paulgraham.com/prepare.html
I think that argument makes a lot of sense and coincides with my experience. I code all my projects, and I only use AI as a teacher, or bug finder. Again and again I see AI giving me a complicated, confusing code for something that could be much simpler, cleaner and organized. If I let AI write code I do not completely understand, sooner than later it all becomes a great mess that not even that AI can understand.
Still there are a lot of people who say that learning to code is not necessary. What do you think - Should we learn to code? - If you already know how to code, do you keep learning? - What are your experiences?
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.
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 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.
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.
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.
I also wrote about my journey with (re)learning coding - https://aishwaryagoel.com/thinking-in-code/
If I understand he says this related to regular text but we could extend to writing code too.