r/learnprogramming • u/IndependentCoast3974 • 19h ago
Does anyone else feel like learning to code has changed since AI became so good?
however, i've been thinking about this a lot.
When I first started learning programming, even figuring out a small problem made me to feel good. I'd spend hours trying to understand why something wasn't working, search through documentation, try different solutions, and sometimes get frustrated enough to close my laptop. But when I finally got it working, that feeling was honestly worth it.
Now, with AI tools getting way better every day, I sometimes find myself wondering if learning to code is even the same experience anymore.
It's not that I think AI is bad or anything. I understand why people use it, and it can be genuinely helpful.
Sometimes I feel like I'm learning less when I get an answer too quickly, even if that answer works perfectly. I want to understand what's happening behind the code instead of just getting something that runs.
I'm still learning, and I know AI isn't going anywhere. I just don't want to reach a point where I can build things with AI but struggle to explain how they actually work.
For those who've been programming for years, has your experience or relationship with coding changed because of AI? And for beginners like me, how do you make sure you're actually learning instead of just getting things done?
5
u/JTadster 19h ago
I don’t use ai so my relationship with coding has not changed. I’m sure when I finally release my open source updates the ai will love it, but I’m not yet planning on experimenting with ai
1
u/aqua_regis 19h ago
Learning has changed if you the learner allow it to.
If you stick to the classical way without AI, nothing has changed and you will still gain your deep understanding that is necessary to sift through the AI slop.
Sometimes I feel like I'm learning less when I get an answer too quickly
Ahem. That's far from a new thing. Same was with StackOverflow, same was with google, same with tutorials.
You don't learn much if someone serves you the answer directly. You need to think to arrive at the answer - Socratic Method.
Giving hints, using AI to lead you, like any proper, high quality course will do, will not impact your learning effectiveness. Using AI to get the answers quickly definitely will. Even worse. If you start relying on AI answers your own skills, your problem solving, your reasoning, will atrophy. Recent studies even prove that.
Yes, AI can absolutely be a great assistant and tool in the toolbelt when properly used. While learning, this means that it should only be used like a skilled, clever mentor who never gives direct solutions, but helps the learner figure out the solutions with the steps leading to them.
I'm still in the "no AI while learning" faction. First, the learner has to build their own skills so that they then, later, can easily incorporate AI into their workflow without blindly relying on it.
In my professional live, I use AI for boilerplate that I don't want to waste time on writing. Yet, in the vast majority of my professional programming, AI is not even a thing. The engineering and development environments I work in are airgapped and never even see the internet, not even for updates. Local AI is not a thing either. System critical infrastructure programming has extreme restrictions on that.
1
u/korywithawhy 19h ago
it's different now, but for me at least, it's kind shifted from joy when my code works, to joy when the thing i'm trying to do works. it's a lot less of enjoying the small achievements along the way, but still enjoying the end result. which yeah, it's less fun in that regard. but also, i can do in a weekend what would take me a month or two before. kinda like when you start out a video game and every little achievement feels good, but by the end of the game you no longer give a shit that you were able to kill a rat.
1
u/xilvar 19h ago
Yes, those of us that are senior all expected this particular change immediately when we first observed that chatgpt or llama2 could produce bad code at all when encouraged to do so. It was a bit like watching 9/11 happen from New Jersey but in extreme slow motion at first. An immediate comment from almost everyone echoed something like ‘I have no idea how they’re going to teach the junior engineers in college or elsewhere anymore because this change is dramatically counter to the traditional way of teaching CS and application of this change is going to be better known and handled in the industry than in education for years to come’.
Don’t know if it helps, but for me, it was never the act of actually programming that originally made software development my choice. It was the act of creation, change and realizing previously unrealizable things. That is still an invariant and honestly still even stronger with the ever evolving capabilities we’re gaining.
1
u/the_doll_is_broken 18h ago
Personally, I feel like in the age of ai & automation, it’s more important than ever to know how to build from the ground up without it. One day ai will not be accessible the way it is now, & actually knowing how to do something without its assistance will make you a reader along the illiterate. I’m aware of how dramatic I sound.
1
u/JohnJukes 18h ago
While in school, I do all my school assignments by hand still. These assignments are teaching the foundation for understanding coding and skipping them would be a big mistake. I only get ai to explain concepts and provide NO code.
However, most of my sideprojects are mostly ai, so I can practice developing with it. Occasionally I’ll study a feature I don’t recognize but I usually try to have AI use things I already understand anyways so I can evaluate properly. It’s a tough balance and I don’t think anyone’s got it 100% figured out.
1
u/Whatever801 18h ago
I feel like that I am effective with AI precisely because I already know how to code and have a lot of experience managing tech teams and orchestrating large projects spanning a lot of engineers. When I assign an agent a task, I know what architecture I want it to use and how I want the final code to look like. My advice would be to learn code the traditional way. This is what will enable you work with AI effectively. What you don't want to be (and this is an issue I'm seeing with newer engineers), is to become a glorified AI proxy. I am seeing cases where I go into an architecture review call and the engineer comes with an AI generated document and literally does not know why design decisions were made, what tradeoffs considered, how things are happening in the code, what testing is there, how does it scale, etc, etc. I have asked "how does xyz work?" and have literally gotten the response "can you pull down my branch and ask claude?". If that's the case, what do I need you for at that point? If you're not going to guide the AI and take accountability for the design and I have to come in and clean up the mess anyways, why not just give the task to claude myself in the first place? What do I need you for? Hope that makes sense.
tl;dr - you can't properly manage the AI if you don't have core programming skills. Experienced engineers are HIGHLY productive with AI, inexperienced engineers that never developed skills are useless slop factories.
1
u/zomerbk 17h ago
A useful check is to treat a working AI answer as the start of the exercise: before running it, predict what each part will do. Then change one thing and predict the result again. If you can explain both outcomes, you’ve learned something; if you can’t, you’ve found the part to study.
0
u/minneyar 19h ago
For those who've been programming for years, has your experience or relationship with coding changed because of AI?
Been programming for >25 years now, and it's mostly made me dislike programming (or at least, having to work with anybody who uses AI).
Calling AI "so good" is a bit of an exaggeration. It's very good at quickly churning out code that is basically functional. It's also buggy, unreadably messy, and impossible to maintain. And I can just choose not to use it on personal projects, but if I'm working with somebody else who's using it, I have to deal with them constantly trying to add code that they don't fully understand that is only going to cause us problems in the long run.
And it makes me, personally, want to contribute to open source projects less, because I just know AI scrapers are going to ignore whatever license the project is under so they can ingest it and then plagiarize it.
For learning in specific, it's basically a search engine that will occasionally lie to you. I'd rather just have a good reference manual.
1
u/bgibbz084 18h ago
I’m a senior engineer in big tech, and you’re way off the mark. My companies metrics have AI giving 3-5x improvement in productivity. Our last feature saved an estimated 31 engineer days with AI.
AI writes significantly better code than any dev. It’s far less buggy as proven by our regressions (regression failures are down like 70% and time to fix is more than halved). It’s much more readable and maintainable in my opinion.
What you said was true maybe 2 years ago but if you’re using SOL 6.1 or Opus 5.5 and have this opinion then you are doing something very wrong.
1
u/aanzeijar 18h ago
Meh, AI is a tool. It can write good and bad code depending on what to ask it for and how you integrate it into the pipeline. A good large software company will have the workflows to compensate the still existing shortcomings.
The issue with beginners in this sub is that they have no clue about what good code looks like, or how to ask for it. Even current frontier models can and absolutely will write shoddy spaghetti and then suddenly overengineer some part because it got triggered by something. That's what the dev is responsible for. If they don't understand what they're committing, then your productivity is just tech debt.
1
u/bgibbz084 18h ago
That’s probably all true, but I will contend that I haven’t seen any poorly written AI Code in a while with frontier models.
I am simply trying to push back on the narrative that production code isn’t AI focused. I don’t think a developer can write good AI code without already being an expert on programming, so I do agree that good independent coding skills is important, though I personally also wouldn’t recommend anyone try to learn programming today unless it’s purely hobby.
1
u/aanzeijar 17h ago
I am simply trying to push back on the narrative that production code isn’t AI focused.
And I would push back on that in return. Some of the legacy code bases I'm working with are 25+ years old, half a million lines of code and target obscure embedded proprietary compilers that aren't well represented in the training data. My experience has been very mixed so far and not for lack of trying.
I've been joking that we've tried to get code "clean" for decades, and it will now happen not because we said so, but so that the clanker can understand it better.
1
u/bgibbz084 16h ago
Sounds like your company is poorly utilizing the tools. We had the exact same issues so we trained custom models on our own code.
My company had literally invented multiple internal programming languages, some of which are extremely complex, and the models handle it fine.
1
u/aanzeijar 11h ago
Not everyone can dump a few million into training custom models. You seem to assume that everyone is a trillion dollar company. Most of us have to work with normal budgets.
1
u/bgibbz084 11h ago
That’s true, but we’ve seen numerous startups be able to do this cost-effectively and with extremely good results. I think the companies that aren’t dumping resources into this or effectively building out tooling will quickly find themselves pushed out by competition.
1
u/aanzeijar 2h ago
In the long run. On the way there a lot of companies will overextend and go out of business from unsustainable expenses too. It's just the dotcom disruption all over again.
You're currently in the very cushy position to be in a large corp where money is readily available, but that didn't save software at IBM and HP last time either.
0
u/readyready15728 17h ago
Doing things the old way doesn't constantly leak money like a sieve or result in things like neighborhoods filled with smog
1
u/Single_Cat_1672 17h ago
Just because you are gaining some small amount of productivity doesn’t necessarily translate to better expected output/return. How do you know that the improvements aren’t temporary? I mean you do have to maintain the code long term. Also I will grant you, that part of what you are saying is indeed true(and may indeed be true for your case), but only some companies truly experience these return. Most companies have seen either no improvements at all or the exact opposite and had to turn back to hiring their old developers that they previously fired. All in all, this is actually exciting on my part. Because the more companies keep either firing or pidgin holing their developers on whats really just a robot, the more the tech industry are going to dig their hole and eventually the market has to do nothing but flip. It’s really as linus said “AI is simply just a trend” and will die down. So honestly top commenter should actually not feel bad(hopefully this is the case), and instead just keep improving his skills. It will all work out in the end
1
u/bgibbz084 16h ago
Improvement is 3-5x across the org (10s of thousands of people). In what way is that small?
The code is still scrutinized and reviewed. Quality has improved, and we have many more tools now doing quality checks and reviews due to, yes, more AI.
The companies that I have personally seen fail to see AI improvements are the ones that aren’t paying for frontier models, aren’t coordinating an effort for built out and tooling around these models, and aren’t centralizing efforts to get people onboarded to tools.
9
u/desdotjs 19h ago edited 19h ago
Honestly, I treat AI as a tutor - if there’s something I don’t know or understand, I usually ask it to explain and I’ll read about the concept independently from things i find in docs or online forums. I like to write my code by hand so I have it in a notebook and instead of copy-pasting I type it myself.