Ask HN: How should new programmers learn in the AI era?
My younger brother just started learning programming. When I was learning, I spent weeks building small demos and exercises — calculators, todo apps, little games — but now, most of those can be built in seconds with AI assistants.
I’m wondering: should new programmers still learn the same way we did — building everything by hand — or are there better ways to learn with AI tools around?
Have you seen examples of new developers who learned effectively with AI assistance? How did they structure their learning or projects?
I’d love to hear what worked for you, your students, or junior colleagues today.
I work with students and junior engs.
Personally, I'd avoid using AI tools for learning atm.
1) As a learning path planning tool, I find LLM tools are very good at creating learning plans and next steps for popular concepts. However, the convenience of the tool also skips over a lot of accidental discovery/exposure, which IMO is useful in the long run in building out broader contextual awareness. The students following an AI plan only knows about the things in immediate vincitiy. Whereas more traditional methods, like a web search (use someting like Kagi, not Google) reveals more advanced stuff which they don't know yet, but plants a seed in their brains.
With the right prompting system, you can probably mitigate some of these issues, but atm I find the general trend is people want short fast answers.
2) For actual coding I'd discourage it. For people to learn quickly they have to build stuff from scratch so they develop the right mental models. Writing code manually is a good check on their understanding. When the work becomes boring/tedious they can offload it to AI tools.
Overall, my experience has been that the AI tools are useful in the short term, but too much reliance amputates a lot of the valuable, but hard to measure, learning experiences. If the goal is to form the right mental model of concepts in the human who is learning, then bypassing some of the "work" and frustration by letting AI do most of the planning and "thinking" actually harms the learning process.
I would do (and have done) CS50X online https://cs50.harvard.edu/x/ do all the problem sets and projects by hand using no AI to write any code. The lectures and tutorials are outstanding. By the time you're done you'll be ready to build whatever and research what you need to learn to build most things
If you need to go deeper, then do https://cs50.harvard.edu/web/ as well.
If you need to really nail DS/ Algorithms do the courses from Berkley:
https://cs61a.org/ (if you did CS50x already you can skip)
https://sp25.datastructur.es/ (CS61B)
https://cs61c.org/fa25/ (Optional/advanced stuff)
If you wanted to become a painter, would you use generative AI to make you a painting and then call yourself an artist? I wouldn't. Downloading mp3 files doesn't make anyone a musician.
That said, I don't see any problem with using AI to grasp ideas faster[1]. AI can help you create a personalized roadmap and resolve confusion along the way. But if one doesn't go hands-on and understand what the AI is doing, and only consumes the output, there is no learning in that.
[1] By 'faster,' I mean getting a response quickly (requires fact-checking, ofc) instead of spending hours on Stack Overflow.
AI is simply the latest tool. There was time when a similar question was whether to learn assembly language because we now had compilers (C, Pascal, FORTRAN etc). That question glossed over the value of understanding the foundations. When things don't work as expected, debugging requires deeper knowledge.
AI is a fantastic research assistant and even a tutor. But you still have to ask "good questions" and remain sceptical, both of which in turn requires foundational knowledge.
Use AI to speed up the boring parts, but make sure you understand what’s happening behind the scenes. The best programmers in the AI era aren’t the fastest coders - they’re the ones who can debug, reason, and connect systems creatively.
AI is the best teacher, short of a 1:1 with an actual human teacher. You can literally learn almost anything, and it's at the very least a starting point, and then you ask it for the best books to continue with.
For people that like learning on their own, it opens up all doors. With that in mind, as you're learning build everything by hand. Copy the code by typing it, not copy/pasting. Make sure you understand each line and can change things as you go while still having it compile and work.
Start with actual projects, first small projects, then larger and larger. Each project should be something you can show someone else, if not upload and share online. Once you have a few projects, the path forward reveals itself and you'll know which books to read and what to tackle next.
Honestly, for learning programming, university is no longer needed. It's at best a place to network and meet potential employers, but even that is not necessary and there are ways to network online.
I had 50 years as a programmer. For 50 years I was learning new stuff. It doesn't stop, so you need to get used to it. Hard won knowledge sticks best so AI may blunt your learning if you are not careful.
Learn everything about datatypes. You may happily skim the algorythms.
I would say that solving the puzzles with pen and paper is still valuable way to learn to analyze problems and sketch solutions, while details of syntax can be resolved with AI