I recommend reading a book like https://mitp-content-server.mit.edu/books/content/sectbyfn/b..., going through it will hopefully as enjoyable as it was for me when I read it in high school. There are many kinds of programming which are not super enjoyable (to me), so I gladly leave those to AI, but based on personal observation, my experience programming lets me be much more effective at using AI to solve problems than a fresh MIT / Oxford grad with less programming experience.
Finally it depends on your interests: If your interests are computers and X, than combining both to solve problems you find interesting can make using AI worthwhile, because then programming isn't the main point.
An amusing implication here is that the more "useless" a language is economically, the more valuable it's likely to be to learn it (for the effect it has on your mind).
If I had access to even the weakest offline model now as I did back then where it can save me hours of trial and error, docs sifting and getting my questions closed I'd be a different man.
I love using Claude to one shot interactive tutorials, so far I've done voxels, shadow mapping, sdfs for font rendering, a weird dialect of asm and much more. I see it as the perfect assistant to mentor someone nowadays, if you have actual passion for the field it's hard to go wrong.
1. learning stuff is fun. even if AI drastically changes what it means to be a software engineer, as it stands, we still need software engineers. You can go to university, learn CS/Coding by hand, and on the side keep up with what it means to be productive with AI tools. That way, you're still employable and you get the gift of getting to learn stuff (perhaps at great cost, but maybe you live somewhere where the education is affordable)
2. the underlying principles aren't changing. Computer Science is still Computer Science. computers still have memory and the basic data structures are always going to be what they are. I think it's important to know what we're building on top of. (ie. a React developer should probably understand the DOM. A C developer should understand what their code is compiling to). I don't think it's any different with using AI to write code. Learning programming/computer science will still be important even with AI because it's important to have people who understand the full stack that we build technology on top of.
3. you could work on the AI. People still need to understand the math that builds AI. You could be one of those people.
4. AI is great at making things that already exist. but we will still need to make _new_ things. Humans do that.
my main thing is, if I wasn't in school to learn Computer Science, what would I be doing instead? I certainly don't want to be a someone who's job is genuinely replaceable by an agent. I don't think all programmers will be like that.
There are other areas that a STEM minded student could be interested in. Biology for example could benefit from a programming background. Knowing how to collect and groom data, analyze it, then export it as JSON or CSV is something you could pick up in a couple of classes and be useful to you for an entire career.
Yes, CS is a great program if you have a passion for computers, tech, and programming. If you truly have that passion, I suspect that you'd be targeting CS programs without concern for whether or not there are jobs for grads and would be willing to figure it out when you get a degree. If you don't have that passion for CS above all else, however, you might want to consider another degree with a CS minor.
If you're not headed directly into a 4 year bachelor's degree program after high school, I see that the local community colleges around me have maker programs where you learn a little programming, a little electronics, and a little 3D printing. That might be enough of a skillset to augment a degree in another field and let you differentiate yourself. You might check to see if you can get a certificate or AA in that if the market still looks uncertain after you graduate. Taking entry level courses in calculus, physics, and chem alongside a maker program for a couple of years might allow you to see the future of programming more clearly.
> Personally, I do not yet have a definitive answer
I don't think any of us do. Much of what I'm reading on this subject seems to be shifting so fast. Three months ago taste was going to be the big differentiator. Six months ago, OpenClaw was going to be the future. I'm afraid to say that my best advice is to wait and see like the rest of us.
Don't stop taking CS classes in high school, but be ready to pivot into a CS minor and a science or engineering major if you encounter headwinds either with the CS curriculum or you see that two or three successive graduating classes of CS majors are finding employment to be difficult or impossible.
If you just want to make money, there’s no need to understand it deeply. It’s more important to understand the business side of things, to identify good opportunities, to learn how to manage people, and to make good connections. You can pay people or AI to write code. It won’t necessarily be good, but if you just want money, who cares.
Computer science is a lot more than writing code. There’s a lot of theory, as well as learning how to develop and apply novel solutions to difficult problems. It may be that AI can help with that as well, but I have my doubts that it will be both economical and effective.
What’s more, you may be interested in solving problems where you don’t trust the “aligned” AI (or future versions of the AI) to investigate a problem fairly. For instance, will an AI allow you to challenge its owners with a new product? Will it let you write privacy software when the government begins cracking down on it? It all depends on your areas of interest.
AI might (I have doubts) be quite capable at coding, but it is still quite poor at software engineering.
Even assuming that it does become good at software engineering, it is still worth knowing it yourself to check the tools, know what they are doing, etc. Think of a civil engineer. They are not calculating static forces on pillars manually anymore for a while, they use computer programs for that, but they still need to understand the math behind it. I believe there will always be, at the very very least, a similar relationship between software engineering and coding agents.
Problem solving techniques are going to be applied at different levels, but they are still going to be valuable and - in my opinion - even necessary.
I am way way way more capable with AI agents for this experience than if I had not invested the time. I can look at the code they wrote & decide if it's good enough or a bad idea. I have instincts about how to do things. I am much more able to plan things with them. My coworkers with degrees are wildly productive.
If you think you will be interacting with code in any significant way, I would at least read those three books, they will help you understand "how computers really work". If you want to have a career in making software, then definitely learn to write programs without AI.
2. Nonetheless, I'll give you mine as a counterpoint to the consensus:
A CS degree has never been a strict requirement for entering its field; we could debate how the value of one will change in the near future, but: nearly every other Engineering degree is a prerequisite for practice, and imho all of those other career paths are much less likely to be affected by AI than Computer 'Science' is. If you're selecting for job security, I would strongly consider one of those other avenues. And take a couple CS classes for good measure so you be well positioned to engage with AI in whatever form it does come to your field.
For some of us here, it's just what we love to do, no matter what tooling is available. When I first started building my own software long time ago, it was a very slow Basic and fast raw machine codes (in octal system, PDP-11 like CPU). I enjoyed it not because of tooling, but despite of it.
Over the years, the tooling was getting better in general, which allowed us to build increasingly more complex systems.
With AI, we will still be creating & debugging. It's just that before AI, I had to spend 90% of my work on mechanical not-so-fun things to get things to work, and only 10% on fun algorithmic-intensive parts. But with AI tools, this ratio seems to change, and all kind of boilerplate code & algorithms can be written much faster by AI, hopefully leaving more time for us to work on creative part of the work.
AI coding tools are great but they are restricted in what they can do. They still result in incredibly hacky solutions. They still litter your code with security vulnerabilities. And they still fall into loops of trying to do things the hard way, possibly failing, and burning your API tokens. I've been hearing about these problems since people started coding with AI and nothing has improved. You will always need a programmer, especially if you plan on maintaining and updating your code.
Plus AI is a wonderful learning tool. You don't have to scour the internet for a solution to your problem only to find someone who asked the same question, resolved it, and never explained how. You can just ask your AI tool.
I am very skeptical about the AI replacing programmers hype. Sure, there are a lot of AI-coded apps but there were always a lot of apps. Discovery on the app store has been a problem for a while now and I don't really see AI changing things much. It might even result in more programmers as programmers need to come in and fix all this AI slop code.
Personally I think it's also likely to stay a good profession too. On its own. But also these skills will be incredibly useful to have in a wide variety of other professional. Even with LLMs most people can't and won't speak computer, and having the agency to poke around, to understand, to make stuff happen is an incredible compliment to bring to any job that involves technology. And that's most of them!
There's few fields that open up so much to you. If you have the passion to understand the world, to stay learning, this is a remarkable place.
Further however, I would argue there's 2 deeper questions at the root of what you're asking, both of which you have to find the answer to yourself nobody can really help you with these. The first question is "Can I make a living if I pursue this path?". This is the question on the top of everyone in this fields mind right now. A lot of people 10-20 years ago, when they were in the exact position you are now, likely saw that 'Computer Science' was among one of the top paying college majors and they picked it entirely for that reason. I've met a good majority people in the industry that could care less about the computers themselves or how to improve at their job. They just enjoy having a cushy 9-5 that pays well. (And there's absolutely nothing wrong with that) But now the market is shifting and a lot of the people who never really cared are left to the wayside for the people who really love this.
That leads us to our second question: "Is this something you would enjoy doing regardless of whether or not you'd make a living off it?" There are a lot of cool jobs in the 'tech industry' and as long as you really enjoy computers there will always be a new thing to build/learn/tinker with and someone WILL pay you for that niche thing. At the end of the day it comes down to whether or not you want to delve deep into something and learn something new everyday, as that's what a lot of this industry is. If none of that sounds appealing to you then this probably isn't it.
I don't remember who said it but a piece of advice I read once: "Life is a combination of different games. Find the game you're good at, THEN figure out who will pay you the most to play it." If this is your game then come play it.
I am not saying that you should do programming for a living but to me, in this age programming is a very valuable skill to anybody. Can AI write code? sure! is it good? depends on many factors. And in the foreseeable future this factors are controlled by the human guiding the AI.
You mentioned it is easier than ever to create a software product from scratch and that's true but building it in a way hackers won't steal all your customer's information is not as straightforward and AI can't solely prevent something like it. That's when human skill is still valuable.
Now if I get more sci-fi. I'm worried that in the future no one will understand code and for all human kind will assume AI is "magic". To prevent this I think we should incentivize people to learn to code :D
I graduated two years ago and the majority of my class just used AI for their assignments and gave zero fucks. Nobody was there to learn. The amount of people who felt entitled to a high paying job because they saw the headlines in 2015 that there was a shortage of programmers was staggering. If you asked them the difference between an int32 and int64, they would look at you like you had two heads. The knowledge gap was sad and scary. AI has completely replaced all of these people and will continue to do so.
If you want to stand a chance, take this field seriously and dedicate the next few years to learning it without AI.
If I could go back in time, I'd choose another career and not look back. That being said, I still love programming and got a job that I love.
The world has nowhere near enough software, and it has nowhere near enough leadership.
Learn to code, and also learn why we do it in teams. Learn how to be a good team member, and eventually, learn to lead. You’ll always have a useful skill.
Second. If you see a bunch of value accruing towards existing players, you’re focused on the wrong thing. Value that’s captured, or on its way to being captured, isn’t available to you - you already missed that boat.
Instead, spend your energy creating (and hopefully capturing) new value.
AI is creating a huge value transfer to incumbents - but that value transfer, while it looks huge to us from here in 2026, is a tiny raindrop on the roof, next to the huge ocean of value that will be created by coding AI. Consider this - here in 2026, non-technical people can finally make software to solve their own problems. Good software engineers can take those demos and prototypes and “software built for one” and turn them into scalable, secure solutions for the mass market; with architecture and maintainability. Your expertise will let you codify prototypes into amazing products and your positive impact when you look back at age 41 (my current age) will bring you joy.
Third and most importantly, be careful of your media diet. Hacker News can be an echo chamber and may not reflect the industry or the world. For example the other day there was a “KDE is dropping X11” blog post. In the post they showed data that only 5% of KDE users are left on X11. But 70-90% of HN comments were Wayland gripes. Whatever you go after, ignore the haters, do what you love.
In your time you’ll get to see the industry table flip itself many times - the thing we do is still in its Big Bang, exploding into existence, and it’s wide open. Become a software engineer and it’ll be more fun than the coolest rollercoaster in the world. I envy you to have your whole career ahead!
None of us know the future.
Having said that, while your programming career will be different from mine (I started in the twilight of the pre-pandemic era) because of AI tool abilities, the AI tools, while improving a lot, require good judgement to be put to useful work.
In a world where the AI is so smart that it does not need your judgement, then the business is so smart that it does not need any employees at all.
"Coding" as in "I can hand type syntax" will likely be more commoditized.
But being able to design and implement systems that automate and accomplish work useful to business workflows that are ill-defined, have lots of stakeholders who don't necessarily know the entire domain of the work, and need integration of a chain of people's workflows in order to make all the gears of industry go?
That makes you a good programmer. Add on the ability to socialize / network with people, identify an underserved market and bring a profitable product to it? That makes you a full on businessman.
Specific technical skills like digital logic understanding, algorithms and data structures familiarity, set theory, data-intensive application design, SQL (everything eventually becomes SQL with databases), C (still a lingua franca that in some form or fashion will be directly present or a heavy influence in whatever programs one works in), and yes, confidence bred from experience working in the industry, will make you valuable enough to be on whatever short list of humans hired, even if an AI agent is smart enough to handle or give educated guesses about whatever class of problems were commonly known and solved pre 2022.
Your value is no longer only or mainly in "I can follow the process of writing source code that compiles to a program somewhere" - your value is in your developing judgement and experience that lets you take the imperfect world of now, see a goal that the business needs to get to, and use various technical skills to bring that future world into the present state.
AI agents will eagerly and over-politely try to help, but beyond their limitations, your work will be needed then.
You can still do a full career in programming / technical fields, no it is not a wild hiring frenzy like it was 5 years ago, but you can still pursue this field - it's not as obsolete as lots of us like to complain about over here.
Good luck to you wherever the future leads and stay curious.
The part of software development that AI replaces the most is typing. Professional engineers like to say that software development is more than typing, and the important parts are, but the reality is that until very recently typing was still a huge responsibility of the work by percentage of time spent. If you spent a week planning and thinking and diagramming and arguing, whatever you were building was probably going to be weeks of typing. Now you can spend the week thinking and get the typing part done in a day, immediately freeing up more time to do the parts that are still complicated.
Now, the thinking and planning and architecting parts of the job, the parts that involve maintenance and keeping things running, and predicting the future, are taking up a greater chunk of the time. AI is getting better at supplanting some of this, and at acting as a sounding board echoing feedback cultivated by the attitudes of millions of talented engineers, but judging the results is still the hard part, and the best judgement still (for now) comes from knowing how the machine works under the hood. I often will have an approach in mind, and will ask Claude to do something without showing my hand. If its approach deviates from mine, I can evaluate it the same way I would evaluate any other coworker's approach, and determine if it's an improvement or not. Sometimes I'm right and I correct it to get better results. Sometimes I think I'm right and I correct it, only to run into some issue I didn't anticipate but Claude did. I don't know how I would have developed that intuition without programming fully by hand for 20+ years, and I unfortunately don't have a recommendation for how anybody new to the field can develop it now, but it still seems important.
What I can recommend, how I learned, and what I think hasn't changed about learning, is to build something you want to exist. Something you want for yourself or to share with others. Build an app or a game, build a website, make some software nobody else has. But the advice I would have that might go against some grain here: use the tools available. Functional software is the goal; understanding is the process. Use Claude or Codex, write code by hand with VSCode or Vim, copy-paste some code if you need it, watch a stream of someone building something similar. I think that's the reality of the career now and it's not going away anytime soon.
But: even with these superpowers, you will eventually run into an issue that the AI can't fix or understand, where it butts up against the reality you want from the result. It'll get caught in loops where no matter how you prompt it fixes and breaks and fixes and breaks back and forth in the same ways, and that's where you come in. That's your alpha. Figure out what's going wrong by reading the code, read the docs, ask the AI questions about the code, and learn how to correct it. There's a saying that computers are bicycle for the mind, and AI strengthens this metaphor a lot. A bicycle can amplify each of your steps into ten steps, but that's only valuable if you know where you want to go.
All of that said, I can't see the future, and I think we're early to figuring out where the limits of this tech are. It might turn out to be a step change in how we work, or it might ultimately obliterate most office work as we know it. Maybe everybody on HN will be retired or a tradesman in ten years. What I can say is that programming teaches you how to think and how to solve problems; even if this field is unrecognizable in our lifetimes, those are transferrable skills in work and in life, and there are worse ways to spend your education.
Developers who know assembly have more insight in the capabilities and workings of computers than those who don't.
Developers who know and use (compiled) low-level languages have more insight in the capabilities and workings of computers than those who only use (interpreted) high-level languages
the next addition will be something like 'Developers who know programming languages have more insight in the capabilities and workings of computers than those who only use natural languages'
Learn to program even if you don't intend to do much of it later on.
This will change over time, and that's OK. Stay on top of it.
I'm 58. I'm fucked.
So it goes.
When I was your age (25 years ago, give or take), outsourcing jobs to cheap Indian companies was all the rage. Adults at the time advised me to not learn programming, because there would be no future in it. But it turned out that the cheap labor also did pretty poor quality work, so over time companies reversed course and hired more local devs.
I believe that we're going to see something similar with AI. While it's fast, AI does a significantly worse job programming than humans do. That seems unlikely to change (because it hasn't yet), so that means you have to carefully review everything it does. In turn, that means that the supposed productivity gains just aren't there (they are slim at best). On top of that, right now AI companies are selling their product at a loss, hoping to make people reliant on them and then raise prices. So we have no idea what the price is going to be for those slim productivity gains. I believe that as companies come to realize this, they will reduce their usage of AI tools and rely on humans more.
But while I believe myself to be correct, I might not be. The hard truth is that nobody knows what the future holds, and no matter what you choose to do with your career there's no such thing as a "safe" job that you can guarantee you will work the rest of your life. Just do your best to place your bets based on the situation today, and be ready to change your plans as the situation changes.
I just wanted to let you know that AI-edited / AI-generated text posts, including comments, aren't allowed on HN - see https://news.ycombinator.com/newsguidelines.html#generated. This actually affected your post above, but I unkilled it because I wanted you to get some answers to your question!
For the future, please write any text that you post to HN itself by hand. Don't worry about mistakes; they're turning into signs of authenticity at this point :)
I think it’s entirely plausible that this kid chose to write their first HN post in that same formal style.
I could be wrong though. But I always wonder if there would be moments where someone writes a genuine thing and it’s mistaken for AI.