Skip to main content

r/learnprogramming


I've been teaching programming for 8 years. The students who learn with AI from day one are learning something, but it's not programming.
I've been teaching programming for 8 years. The students who learn with AI from day one are learning something, but it's not programming.

This isn't a "AI bad" post. I use AI constantly. But I need to talk about what I'm seeing in students who start with AI versus those who don't.

The AI-first students can ship. They can take a problem description and produce something that works faster than anyone I've ever taught. Genuinely impressive output speed.

What they can't do: debug without AI. Reason about why their code is slow. Explain what a variable actually holds at runtime. Read an error message and know where to look. Understand what happens when something fails.

I had a student last month who built a working web app in their second week. Legitimately functional. Then I asked them to add a console.log to see what a variable held at a specific point in execution. They didn't know where to put it. They didn't know what "at a specific point in execution" meant. They'd built the whole thing by describing features to AI and accepting outputs.

The mental model of "code as a sequence of instructions the computer executes" never formed. They skipped straight to "code as a thing that does stuff when you describe it right."

That mental model works until it doesn't. When the AI gives you something wrong and you can't tell. When you need to optimize something and don't know where the time is going. When you're in a job interview and there's no AI.

The students who learned the hard way first use AI well. They know what they're asking for. They can verify the output. They use it as a tool.

The others are building on a foundation that isn't there yet.

Not sure what the right answer is. Curious if others who learned recently feel like they skipped something important, or if I'm just being an old man yelling at clouds.


Savings is our love language. Bundle your insurance with Liberty Mutual and save hundreds.
media poster


I fell for the oldest trick in the book and i will be fired for it
I fell for the oldest trick in the book and i will be fired for it

Ugh, this is embarrassing

I am an Android developer using kotlin and i love it. one day my company told me we have project in Flutter and we got you a senior, lets go. one month later, the senior leaves. then a new flutter dev comes and then after 2 weeks they had him go. then they told me to get a flutter dev. so i got a friend, turns out he was very mediocre. I got fed up of this flutter non-sense, I told them I am gonna rebuild the whole app in Kotlin multiplatform and it is gonna be better. I showed them a prototype and they liked so much the next day they fired the other guy so that i focus on the new version. I got the new version in a month but i was working 15 hrs a day that i missed the very first step.

I asked for a repo to push the code to, but they kept postponing, I didn't want to push to my own github, i don't know what stopped me i was one click away. I told them i need to push the code and they said just git init and i will later give you permission.

The next day my nvme got fried out of no where and the whole code is gone. my manager whom i kept asking didn't inform the other higher ups and there is a client meeting looping over and i will probably be fired the second they know. lets hope the data recovery guy saves my ass.

TLDR, use remote version control always. don't be an idiot like me


self-taught devs who learned before the current tool boom: what habits kept you from copying without understanding?
self-taught devs who learned before the current tool boom: what habits kept you from copying without understanding?
Debugging

Asking this a little carefully because i know this sub has a hard line on certain tools, and honestly i get why. What im more anxious about is the beginner version of the same problem: grabbing autocomplete, snippets, boilerplates, starter repos, or tutorial code so fast that you can make stuff work and then cant explain what you wrote the next day

When i was starting, the most dangerous feeling wasnt being stuck. It was getting unstuck too fast. If i spent 45 minutes fighting some JavaScript bug, i usually remembered the lesson. If i pasted something from a snippet site and moved on in 2 minutes, it felt productive for a second, then the same idea would show up wearing a fake mustache and id freeze because i never actually learned it

My take rn is pretty blunt: help is fine, speed is fine, but if youre regularly accepting code you cant recreate from memory or explain line by line, youre borrowing confidence on credit. Beginners definately pay for that later. The stuff that made me improve was slower and more annoying, rewriting examples without looking, deleting working code and rebuilding it, forcing myself to predict output before running it, keeping projects small enough that i couldnt hide behind complexity. Annoying. But useful

For people who got thru the early phase without turning every roadblock into a copy-paste moment, what guardrails did you use? Not generic "practice more" advice, i mean actual habits that made you confront your own understanding instead of outsourcing it