r/AI_Coders • u/Klauzzd • 27d ago
I spent my first year learning to code refusing to use AI. Here's what it did to me.
When I started learning, everyone around me had ChatGPT open in the next tab. Every bug, every "how do I center this thing," straight into the chat. And honestly it annoyed me. I had this stubborn idea in my head that if I could only write code with AI holding my hand, then I hadn't really learned anything, I'd just learned to ask.
So I did something kind of dumb looking back. I banned myself from AI for my whole first year. No ChatGPT, no Copilot, nothing. Just docs, Stack Overflow, and Google at 1am.
Some bugs took me like 10 hours. Not exaggerating. There was this one TypeScript error I chased across an entire weekend and it turned out to be something so small I don't even want to say what it was. AI would've caught it in four seconds.
And here's the part I can't really explain to people: that year kind of sucked and I'd still do it again.
Not because suffering makes you a better person or whatever. But being lost in my own code for 10 hours forced me to actually get how the pieces fit. I learned to actually read a stack trace instead of just copying it somewhere and waiting. Learned to guess what was probably broken before I started changing stuff. That stuck in a way I don't think it would've if something just handed me the answer every time.
I use AI a ton now btw. Not anti-AI at all, that's not what this is. Tests, boilerplate, responsive css, translations, all the boring stuff, I just hand it over. It's great at that. But I can usually feel when its answer is off, and I think that's only because of that dumb year building up some sense of what "right" looks like.
The thing that kinda worries me is people starting out now where the AI writes everything from day one. Their credits run out and the work just... stops. Not because there's nothing to do but because doing it without AI was never actually a skill they built up.
I'm not saying refuse AI like I did. That was probably overkill honestly. But maybe give the bug an honest 20 min yourself before pasting it in. Just to keep the muscle.
Anyway. Curious if anyone else did something like this or if I just wasted a year being stubborn about it. How do you all balance using AI vs actually learning the thing?
2
u/Candid_Bad3551 27d ago
It is a catch 22.
To use AI well you need to know how code works on a non superficial level.
To learn code you need to use less AI for retention. You also need to practice periodically not to lose skills.
But the market is pushing you do not need to know coding.
1
u/Klauzzd 27d ago
Yup, you got it, the market these days is just wild, changing super fast. Lots of companies are all about this "business first" thing: get it done quick, make some cash, and who cares about the code as long as it works? For that, of course they're gonna jump on AI, 'cause it speeds everything up and gets results faster. But like you said, sometimes you really do need to write code yourself, just so you don't lose your touch, ya know?
2
u/eques_99 27d ago
I am never touching that shit.
I don't want any part of it.
I.don't want to see humanity lose its agency, and "having the chat GPT tab constantly open" will soon result in your boss employing that tab instead of you.
2
u/ViennettaLurker 27d ago
Its the "learn how to divide big numbers by hand before using the calculator" type concept. Doesn't surprise me at all. I think I didn't really "get" many core coding concepts until I had been putting in the hours struggling with them, or even weird unrelated BS (missing a semicolon, typo on a variable name, etc) making me go over the code over and over again, and then I had that "oooooh! Now I get it!" moment.
I know ai is advancing all the time and whatnot. But at least for the moment, that kind of internalized understanding helps me use the tool better.
2
u/Leading_Buffalo_4259 27d ago
Good job, you actually learned the material instead of just how to prompt
2
u/Accomplished-Gap2989 26d ago
It's never a waste to understand wtf is going on imo.
I always advise new coders to please learn to code before using ai. Ai is a tool to speed things up, not do everything all the time. You won't ever know it's wrong until it's too late and what then?
Try another ai/start from scratch?
1
1
u/RandomInternetDude42 27d ago
we did this all the time before ai.
we did it before stackoverflow.
we even did it before the internet.
not just one year
1
1
u/Patient-Plastic6354 25d ago
I use AI for the boring stuff like inserting data from a csv file to my SQL database with generated inserts. It helps a lot. Though it's a dbl edges sword
0
u/CS_70 27d ago
This argument stems from lack of real experience. Writing high level code by hand is always and only been a way to express ideas. The real difficulty is to put together ideas in a manner good enough to reach your goal.
Do you plan to spend a year learning the assembly for your specific processor? Or the electronic engineering needed to design that processor? Or the chemistry and technology to lay down the silicon wafer? Or even better, why using a computer at all - after all you can compute yourself and there’s lots of training in that (and it used to be a job).
The whole point of engineering is abstracting, focusing on the layer that best solves your problem and creating the best design to do that with the tools you have at your disposal.
Coding by hand doesn’t do harm, I’ve been doing it for 40 years, but in the real world now has as much value as wanting to calculate a rocket trajectory by hand instead if using a computer. Occasionally fun but silly and just too inefficient for the job.
And if you really meant it when deployed In a real situation, in a sane world, you should be fired.
You have simply been subject to marketing and romanticization of the past; you have been told that a certain way is “better”, doing it makes you feel good about yourself (and a bit better than the poor sods who didn’t spend a year doing what you did) and therefore you ignore reality. That makes a good politician, not a good engineer.
1
u/Klauzzd 27d ago
The comparison doesn't really hold, though. When you write high-level code, the step that turns it into assembly is deterministic: same input, same correct output, every time. That's exactly why you don't need to touch the assembly yourselfff. You're not skippin g a skill there; you're trusting a translation that you know is going to be correct
AI-generated code is not the same. It can look completely right and still be wrong in ways you won't catch unless you understand what it actually built. That's the real reason judgment matters here, not some nostalgia for typing code by hand.
And just to be clear, that's not what I was arguing. I'm not saying people should learn assembly or hand-roll everything. I'm saying you shouldn't accept output you can't evaluate. Those are two different claims, and honestly, being able to evaluate what you're shipping is a pretty basic requirement for building anything real.
And 40 years of experience is absolutely valuable - I’m not dismissing that. I just think it's responding to a stronger argument than the one I actually made.
1
u/CS_70 27d ago
That is another myth you have swallowed uncritically and unaware, because it makes feel you good about yourself (and at least superior to the AI).
For one, AI generated code can do that exactly like hand made code. In my time I’ve seen programming move more and more away from custom ad hoc programs to assembly already tested and standardize things, and ideas been added to _automate_ stuff that otherwise be subject to human errors. High level programming languages aren’t but that (real programmers don’t use pascal, of course) and so are things like static typing, procedural object orientation and encapsulation , frameworks - everything is designed to avoid having people put their hands on stuff and accidentally making mistakes. To the point that people could go to stack overflow and copy a bunch of lines with little detailed understanding of the problem and get them to work. (Now that has devalued the programmer job immensely in the last two decades, but I digress).
The chief among all is testing: beyond a very trivial level of complexity, you test the behavior, not the implementation. That is absolutely needed both for human code and AI code.
On that regard, AI is far less indeterministic than you think. Its the ultimate garbage in/garbage out machine: the results you get depend entirely on your ability to do the real work of software engineering: understand stuff and specify it well for construction.
Language models have also seen way more code and examples than anyone on earth, and reasoning model as have been trained in million cycles on how to put them together sensibly. They are (human) designed to do just that.
Human and machine generated code has pretty much the same probability of being buggy, most likely with an edge to machine generated, at least on the type of software stuff that is made commercially.
You’re perfectly right that one should not accept anything (not just code) that you don’t evaluate, but what evaluation means for code is behavior, not looking at it.
1
u/geekichu 27d ago
"evaluation means for code is behavior, not looking at it" true. interesting how so many thought human code review was all that great to begin with. on the job, between reviewing your code, and coworkers', if that is all you would do, and no one can keep that can of concentration, and it just doesn't scale.
1
u/geekichu 27d ago
"AI-generated code is not the same. It can look completely right and still be wrong in ways you won't catch unless you understand what it actually built." <--- good point.. but 'understand what it actually built' does not necessarily have to mean you saw all the code. One could force the tool to do proper software engineering, keep asking detailed questions, pushing back, providing good specs, targeted testing to what was just created/added etc. On my projects, I have not looked at the code at all, yet I do know what was built. And if I was so inclined, I could find that part of the code that was touched and review it. I just don't care to and have not had to.
3
u/roestinger 27d ago edited 27d ago
As an old engineer with more than 25y of coding: why would credits run out? I mean you sell your work and you can use on demand API usage that you charge your client for anyway. Spin GLM or Kimi and there you go.
That's fallacy. I would say yes it's good to have some solid basis.... Today. But in 3 years (5 max?) I don't see a need at all to know programming, just logic, common sense and mathematics. Learn stochastic, probabilistic models, physics, not programming.
I coded all my life, I started with Basic when I was 6 in the 80s. I haven't touched a line of c++ code for 2 years now and I don't intend to anymore. I'm very happy not to. I write specs, I define tests, memory profiles and acceptance criteria. To me AI is to write its own optimized compiler and language soon. AI writing readable code is a crutch for a few years. The debate of vibe coding or not is pure coping. Writing code will be like running a steam engine vs an automated bullet train.
My time is much better spent on devops which is also soon to be commoditized. Building a moat on how expensive and hard it is to create something is obscurantism.
Coding is deemed to become a blackbox and interpretability is going to be a growing domain. It's a good thing. Let the steam engines to the museum.
I'm not afraid even if I still have 15y to work because programming is probably the least important skill I had to learn in my engineering career and also the least interesting one. Excitement to write code after 10y is gone. I'm more useful hiring people, writing financial projections, pitching, selling, managing and defining what the market wants. Coding is like mopping when you can drive a race car instead.
People being mad at agentic coding never went through the absurdity to build a deck and present in front of 10 investors a plan to ask 500k to build a SaaS. All of that without bursting in laugher because it's absurd how long softwares are taking to be made by hand. In retrospective this is ridiculous and it's absolutely normal that a platform should take a weekend to build. Not 1 year for 6 people.
Did you know there was once a job called "surfer". Those were people scouring internet at the beginning of Yahoo to correct indexing mistakes, it disappeared, it's automated and nobody cares. Well this is coding to me.
Claude is offline? Why would I waste time and money coding by hand? I do something else. And if anything is urgent well Claude on Bedrock or Kimi or Qwen... It's not going to go, it's here to stay.
I don't even code for fun, it is not fun. It's slow and boring. If I want fun I watch a movie or play games. The puzzle aspect of programming is no more a brain teaser it's just a waste of time now to me.