I still avoid AI in production coding. Am i slowing myself down?
Posted by hireme-plz@reddit | learnprogramming | View on Reddit | 68 comments
I’ve used AI tools for coding a little, but I found that the quality of the code isn’t very good. As a developer who gets paid to build products, I don’t feel that handing over the entire task to AI is professional. Even with AI, fundamental coding skills still seem to be required.
On top of that, products built mainly with AI feel unstable. and honestly, I wouldn’t want to work with teammates who rely too much on AI for their coding. Am i too anti‑AI? but that’s how I see it right now.
Achereto@reddit
No, you are avoiding skill atrophy. Using AI only has a short term and superficial benefit. In the long term, you would become
Also, there's just been another incident of an AI deleting a companies entire database.
woofwoof007@reddit
It may atrophy but you'll develop your code review skills side by side. Software engineering is changing whether you like it or not. If you don't adapt, it may become difficult for you imo. However, if it works for you, all the power to you.
AliceCode@reddit
The only people that are going to find software engineering difficult are the people that are overrelying on LLMs.
mrfixij@reddit
I struggle to say "only" people. Software engineering is fucking hard. The problem is that people assume that AI is an easy button, when all it does is short circuit the actual learning that you need, and even if you know the principles, removes the continuous reinforcement that working in the industry gives you.
AI slaughters the cow, and 6 months later asks why there's no new calf and no milk.
hardolaf@reddit
Most software engineering is copying what someone else figured out and stitching it together to make the client happy.
A subset of software engineering is doing new things and that is hard.
Achereto@reddit
Just think about a situation when there is a bug that turned out to be very expensive for your company (e.g. some GDPR violation). You boss looks at the git commit and sees that you checked that code in. He sets up a meeting and asks you to explain the code you checked in. He then asks, why you implemented it that way and not the obvious other way.
Embarrassed-Pen-2937@reddit
As someone that uses AI in my work all of the time, I would say that this is short sighted. If you open yourself up to it and the benefits you can get by having it perform some of the mundane tasks, formatting etc. it can free up your time to look at the bigger picture.
As far as deleting the database of a company, that is a poorly managed system. It shouldn't have untethered access and frankly is on the company, not on the AI.
hardolaf@reddit
You're not using an automated formatter?
Everyone on my team has formatting enforced by pre-commit. Why would you waste time and money on AI tokens when the automated tools run in less than a second?
throckmeisterz@reddit
My top use for AI is letting it read docs for me. If I'm trying to use a new library or interact with a new API, AI is great at reading the docs for me and giving me the method or API call I need.
But I never have it write more than a line or 2 for me at a time.
Achereto@reddit
There are already studies documenting cognitive debt (or comprehension debt).
If AI writes the code for you, you will not develop the same deep understanding of your work as if you wrote it yourself. Even worse: since AI gives you the impression of doing the same work faster, you brain will stop giving you dopamine for doing it yourself, so even from a motivational point of view, it will become harder for you to think through something yourself.
Companies will always need competent people, because they can evaluate the quality of a project and improve it. AI stops you from gaining competence, which will make you exchangable.
Wulf2k@reddit
AI's great for generating exactly what you ask it to, faster than you could type it.
It's less great when you're giving it vague hopes and dreams for what you want the code to do, then trusting that it does it.
Embarrassed-Pen-2937@reddit
I agree with that for sure. The quality of the output will be directly affected by the input. If nothing else it it will help developers with communication.
cheezballs@reddit
Every time I see something like this it's clear that it wasn't entirely AIs fault. If you give a junior the keys to the castle they're gonna do the same at some point.
Achereto@reddit
That kind of Junior would likely held accountable for that.
Who are you going to hold accountable in this case?
callofthevoid_@reddit
Whomever the borrowed keys belong to
thirdegree@reddit
Ok, tbf, for that database one - that's not just ai fucking up (though it is that for sure). It's also railway fucking up big time, and the devs for not scoping their tokens appropriately. Everybody involved in that gets to share in the shame imo, no good choices were made in that entire sequence of events.
bokonator@reddit
sure, but while you still take a week to implement such feature I do it in 2 days
”should i used an ide or stick to punch cards” is what y’all sound like
UltraPoci@reddit
Writing code has never been the bottleneck
marshaul@reddit
I don't know how so many experienced engineers fail to recognize this fact. Like my job is just banging away on a keyboard all day.
Sure, you want to throw together a bunch of rote solutions to solved problems (like the handwriting example above), AI can help you avoid re-writing the wheel (to mix metaphors).
But I also never have a solved problem I need to just throw code together for. Once in a blue moon, I suppose.
UltraPoci@reddit
And it's not like I write code at the same speed. If I need to ship fast, I too can write shitty code in half an hour
Acrobatic-Ice-5877@reddit
Sounds good in the short run but you’ll end up like the juniors in my office that haven’t coded in 6+ months.
When they get stuck with a problem because Claude runs out of context, do you know who they turn to? Experienced engineers.
The studies are out. The facts are clear. People just don’t want to accept them. AI is ruining cognitive skills, providing biased answers, and in some cases, it is causing significant downtime from letting it run wild on infrastructure.
vatai@reddit
You know how to use punch cards?
Etheon44@reddit
Yes
AI is a tool, it is not a magical 10x button like CEOs want to think, but it is a good tool to use, learn and optimize
If you already understand programming, then you should be used to learning and applying new technology, this is just another one
AliceCode@reddit
AI will cause your skills (if you even have any) to atrophy. If you have no skills to begin with, the only skills you'll gain is prompting the AI. At that point, you're worthless and can easily be replaced.
Etheon44@reddit
Would you have said that about using a new framework?
Such a moronic statement, sorry. Using AI irresponsably and without prior knowledge will cause that, but I am very confident in my knowledge and it is directly applying to a better implementation of this tool.
I am actually impressed that any software engineer is so aversed to using a new technology, when you should have been doing it already throughout your carrer.
Who knows if its going to be like this 3 years from now, but AI is here to stay in some form without a doubt. Why not utilize to your advantage, you that have the knowledge (or should have, since someone so averse to learning doesnt sound like a software engineer to me), you are the best candidate to use correctly.
mancunian101@reddit
It is true though, I think Anthropic did a study and found that engineers who used AI were more likely to lose their problem solving and critical thinking as they’re just passing it off to the AI to deal with.
Etheon44@reddit
Again, but that is only if you leave everything to the AI, that is not using it responsibly, that is not implementing a new technology correctly.
You as software engineers should have this knowledge, you should have already implemented new technology into your system, why would this be any different?
Like no offense, but I feel like I am talking with stagnant 50+year old people that have been doing the exact same thing for 20 years and that are scared about the AI hype since they didnt even bother to try it
Of course you dont want the LLMs to do everything, specially because they suck ass at it. As soon as your context becomes a little bit too big, the code will be active dogshit. But implementing it into other things, like creating MRs, like documenting testing cases for the QA team, like writting basic boilerplate for your files/testing...
mancunian101@reddit
But it’s not about using it irresponsibly it’s just using and relying on it too much that will cause skills to fade.
What counts as too much? No idea, I’d probably put the people who say they haven’t written a line of code in x months or the people who’re submitting PRs with 10k + lines.
Etheon44@reddit
But that doesnt mean not to use it
Just dont rely into it too much, it cannot be that hard, after all, imo, you cannot really rely into it that much because the code it makes tends to suck ass
But as I already defined, it is great for somethings like boilerplates, mr/pr creation, qa flow testing cases...
No pr/mr should have 10k lines, regardless of it being a complete feature, no human has the time to check those things, so obviously those people cannot even be called software engineers
It is just common sense, and use it responsibly, like I cannot imagine myself saying "I am not going to use X technology or X framework because it gives me some things implemented into it, na uh".
Again, to me, it feels like hype fear, which since you know how AI and LLMs work, you shouldnt have it
Akthrawn17@reddit
This sounds like a drug.
"You should use it, but not too much". LOL, and when you are addicted but the prices skyrocket you will continue to pay to get your fix.
mancunian101@reddit
I’ve never advocated not using it.
AliceCode@reddit
The answer is simple: I write much better code than the AI does. Why would I downgrade my software quality? Writing code is not the bottleneck for me. Using LLMs gains me absolutely nothing.
Etheon44@reddit
...writting code has never been the bottleneck for any software engineer worth its salt.
If you write much better code than the AI, which we all do tbh, then you would want to optimize the most mechanical and repetitive sides of programming, which every language has.
You should want to take out lf your mechanical and repetitive things in order to tackle the real problems.
And you would want to optimize those parts to be as closer to your own code as possible, while you delve into the complexity. And the funny thing is, you can even use it for things outside of coding itself, like connecting it to gitlab/github/etc in order to create MRs faster. Sure, it maybe saves 2 seconds, but multiply it for every MR.
Again, it is a new technology, a software engineer worth its salt should never be against testing it and implementing it.
deleted_by_reddit@reddit
[removed]
AutoModerator@reddit
Please, ask for programming partners/buddies in /r/programmingbuddies which is the appropriate subreddit
Your post has been removed
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
kradleOnline@reddit
I like to think of AI and my employed coder. He needs guidance in many aspects but brings knowledge to the table. You need to check how he is doing things and sometime put him back on track.
I have developed for years with Laravel, but since AI, I have delved into brand new territories and have created much more complex apps that I would have ventured to before
minneyar@reddit
No, you're not.
A lot of junior devs love AI because they can give it a prompt and it'll spit out something that works, but they're ignoring that it still takes a lot of time to review and understand it, and if you don't spend that time to review it, you're just rolling the dice until the AI introduces some critical security vulnerability and you never notice it. Even then, you're not going to understand it as well as something you wrong yourself, and a year from now when you have to come back to it to fix some bugs or add more features, you're going to have no idea how any of it is supposed to work.
Using AI to generate code is basically the equivalent of handing your work off to a junior developer who isn't very good at their job and isn't going to grow from it. Is that what you want your career to be? A middle manager for bots?
duggedanddrowsy@reddit
Every time I’ve tried to have it help me with work it disappoints me
manvsmidi@reddit
Yes you are too anti-AI. You’ve only used the tools a little. You obviously aren’t good at using them given that you can’t product quality stable code with them.
Keep working at it, building scaffolding, learning how to prompt, learning when it’s appropriate to use AI vs coding yourself, and you’ll get better. AI is an amazing accelerator to talented coders. If you’re not there yet, keep learning AI and keep improving your coding skills.
hireme-plz@reddit (OP)
I admit that I haven’t used AI enough to discuss it confidently. In my opinion, prompting or telling AI what to do doesn’t seem like a real skill to me. even a 7 years old kid could do it. I mean, what does "learning AI" actually meaning? I genuinely don’t understand the value in learning it unless it involves machine learning or training DNN models.
Good-Discussion-9238@reddit
I have some FAANG friends, and they've told me the exact opposite, they constantly complain that they have to spend alot of time fixing or rewriting code that their lazier coworkers generate with ai, and even when the code works it's not as readable as it should be
Their words not mine, and some of them have over a decade working in tech as software engineers
InVultusSolis@reddit
I am two decades in, I would second this sentiment.
KharAznable@reddit
The triangle of any project
- fast
- good
- cheap
You only get to pick 2 at most, if you're lucky. It stands whether you use AI or not, or whatever project management framework you use.
If you decided to use AI, you already pick fast. Or attempt to pick fast over good and cheap. You might not get the speed you want, but you can almost certain have degrading quality and increase in expense.
cheezballs@reddit
Production coding as opposed to code you plan on throwing away?
jahayhurst@reddit
I wouldn't give an agent access to your production environment at this point in time. Letting them give you code / autocomplete your stuff, which you then review, is a different story. No direct access.
Is an AI going to do as good of a job as you on writing your code with no guidance? I'm suspicious. If you write with it, and let it try to autocomplete your functions, will it do a good enough job? Possibly? Would it do about as well as a junior programmer? Probably. Can you let it try, and review what it's doing? That's the way to go.
I personally find the most success using AI like a pair programmer where you're always sitting in the backseat. When it's really good, you're more hands off. When it's the level of a junior engineer, you're constantly riding it. When it's bad, you get frustrated and kick it out and do it yourself.
sylvant_ph@reddit
What do you mean "production" coding? We always code in safe environments, and only eventually promote to production. AI generated code isn't just committed to the code-base, it goes first through your eyes, then through peer review, and then through testing.
Currently AI coding works as assistant, not full replacement of the developer. I read/heard somewhere that AI amplifies your skills, if you are bad developer, it would amplify that, if you are good - same. So it really matters how good you are and how well you use it.
AliceCode@reddit
A good developer doesn't need AI.
groogs@reddit
Yes. And you will get left behind.
Context: pro developer for 25 years. I care a lot about code craftsmanship.
My analogy is we are woodworkers making furniture. Power tools just got invented and in the course of a couple years went from being toys to being battery-powered brushless ones with thousands of variants fitting every niche.
Asking "should I use AI" is like asking "should I use a power saw, or stick to using my trusty hand saw?". I'm not disputing that many master woodworkers can produce furniture faster and of better quality than juniors using powetools, but that gap is narrowing quickly. A master using power tools is definitely out producing one that isn't, and thouh you could argue the quality of something built by hand of a true master is a bit better than something produced with powetools, arguing customers will continue to pay and wait 10x longer for that tiny bit of quality is a fools errand. And even that gap is narrowing or even surpassed. The master with powetools has enough time leftover to do better finishes, add extra flourishes and bonus features, and package it really nicely and still be done sooner.
Don't get me wrong, there will be amateurs using tools to build stuff that doesn't last. They'll build tables that looks decent but get watermarks the first time someone sets a glass down, or collapse if anyone ever sits on it. They'll eventually go out of business but it'll still be annoying to see them successfully selling their crap to unsuspecting buyers first.
Use your skill and knowledge of everything underneath to get ahead and take advantage of the tools and the ability to now do things where the ROI didn't make sense before. Spend more on your time to focus on what's truly important. Data model, API surface, building for testability are things that if you get wrong, everything else is painful and they're really hard to fix, AI or not.
OldManActual@reddit
I have seen this:
'I found that the quality of the code isn’t very good."
and this:
"products built mainly with AI feel unstable"
So many, many times with no actual evidence. I mean, does it test? Does it run? You are reading the code AI generates, what makes it low quality? I have never had any issues with AI generated code after the normal try-run-adjust cycle. AI in no way eliminates that core development cycle. It makes iteration faster. Plus, once done you have verbose comments and can output documentation essentially for free.
The apps I have developed with AI have the most well formed code of any project I have made. You may see that as a personal failing but recall the code is just a means to an end - the application. As long as I can read the code and understand what is happening all is well. Also, once all the programming problems are solved and the goals met, asking for a refactor always increases code quality and brevity - clearing out interative solution code that may no longer be needed.
So this time I am asking for some receipts about code quality. I think the more time passes the more of your coworkers will think your attitude strange and or a signal of Luddism. I think in the vast majority of cases the real reason behind "code quality" is "not what I would do or understand fully" and the feelings part is looking at a sunk cost of learning to "paint" and just as you get the dream the new "automatic painting machine" comes along and sends you where the buggy whip makers went.
The reality is that developers used to need Mechanical Cognition and Executive Cognition to do their jobs. Now AI fills the Mechanical Cognition role - domain knowledge and "known reasoning" skills, the developer becomes the Executive Cognitor - Goal setting, intuition, direction, animus.
The successful future developer will focus on full systems, their boundaries, their graphs, system component interactions, data flow rather than specific functions. Review and approve AI business and view model decisions certainly - for now. Some developers will hate this. The craft of the code is the thing for them. However, that time is passing by the hour.
Express-Channel-1686@reddit
ngl been building 1 small thing per day for over a month with AI doing most of the typing. it's brutally fast at scaffolding and brutally bad at finishing. you spend 30 mins to get to 80%, then 2 hours fighting it on the last 20%. if your prod code is critical, hand-writing the last 20% is faster than negotiating with a model that confidently hallucinates an API.
AliceCode@reddit
Keep in mind that many of the Pro-AI comments that you see on reddit are actually bots. So take every pro-AI comment with a grain of salt.
That being said, you should learn the raw skills. Forget about all the people shooting themselves in the foot with LLMs. They are amateurs that believe themselves to be experts. The code that they produce is garbage, and they think it's grand because the AI tells them that it is. LLM generated code in all my experiences is poorly written, buggy, and often just doesn't even work at all, and quite often the person that generated it has no clue what the code does and wouldn't be able to figure it out without the help of the AI.
Don't listen to these people. They have no clue what they're talking about.
Stefan474@reddit
I think it really depends on the setup and AI adoption level of the person using it
In my company the setup is pretty good, AIs have multiple architecture docs and readmes they have to read, automatic testing and we also run reviews on anything before the IC can even commit it.
We have MCP servers for different things and a pipeline which uses AI with it's own MCP servers and heuristics to keep the code up to standard and it's working pretty well as an accelerator.
Downside is you do burn more tokens, but price to output is probably better than if you hire more people for that velocity.
(I am not saying I think AI should replace people or that I am happy with the direction, just saying how it is for me rn)
chervilious@reddit
Depends on your experience and your definition of using AI. I feel like if you aren't even giving it a shot and understanding it's current place, you're stagnating yourself.
This is my workflow currently with AI which I determine to be more towards anti AI rather than AI enthusiast.
I use both IntelliSense and inlineSuggest (AI auto complete thingy). I toggle between them, sometimes I'm doing things that don't really require much thinking where inlineSuggest is good for.
I don't really vibe code for production website, but occasionally I do vibe code to make a throw away project/changes. This throw away project is something that I make to talk to stake holder and explain of future features.
Since it's on "learnprogramming" I suggest if you're learning to NOT use AI. Finish your work without AI and compare your result and AI. It takes experience to know which part are "fine with AI" and not.
marshaul@reddit
That's a good point about the definitions. I do like AI-assisted auto complete, which I suppose is definitionally using AI to write code. But it's a far cry from using a prompt to generate code.
Jwhodis@reddit
No, if anything you're doing the opposite.
AI will likely never be as good as a human at code, it doesn't fully understand code and it usually tries to use wildly outdated things that you shouldn't even use anymore.
Stay human.
marshaul@reddit
It doesn't understand code at all, even a little. Even if we ignore the architectural differences, their context widows are vastly too small to even approximate what constitutes a human understanding. And that is the one little detail they have no path to solving with the current approaches.
Embarrassed-Pen-2937@reddit
Totally incorrect. You need to get more access to AI and use it more frequently so that you can see the power of it. Get on train or just get left behind.
PhysicalReality7017@reddit
not really sure about "never" part but yeah the outdated stuff is real pain. had AI suggest some library that was deprecated like 3 years ago and I wasted good hour figuring out why nothing worked
the unstable feeling you mentioned makes sense too - when you don't understand what AI generated its harder to debug when things break. and they will break
InfectedShadow@reddit
Yeah I'm not sure on that never statement. It's already better than some of my coworkers and our contractors.
Dry_Builder_1251@reddit
It already is as good as middle level devs. Way better than juniors. And it is good at that level on everything.
Rguttersohn@reddit
Ive found that using ai for doing things I hate like writing tests, documentation and or db seeders has been very useful and taken a big mental load off me as a solo dev at my work.
But I’m also like you. I don’t want my skills to atrophy especially for when these models start to get expensive to run.
xD3I@reddit
Yes, you can't out speed the AI, but you can 100% out qualify it, which is more important when you will be the one to blame when there's a mistake and you are on the git blame
HugoShadoweyes@reddit
Whatever speed or productivity gain you might enjoy if you use AI you will pay for down the road in technical debt and atrophied skills. AI is like an addictive drug.
So, yes. There will be days where it feels like you are moving slower without using AI, but that's okay. By investing in yourself and your craft you are being more honest and bringing more value to your clients than you would be if you shipped each feature a day or two faster.
GrismundGames@reddit
Vanilla off-the-shelf agents are better at code than many human beings (0-2 years experience).
Well-configured agents (skills, rules, documentation,etc) will make you a lot faster.
That doesn't make you irrelevant.
It frees up your brain calories to solve problems at a higher level. You can spend more time thinking about SOLID principles, architecture, and ecosystems.
spas2k@reddit
IMO some of your concerns are very valid but if you don’t learn how to leverage AI then you’ll get left behind.
Last week I had it build a contract reader. It was able to parse old contracts, hand scanned into our system from years ago which a lot of the text was near impossible to read. It created an algorithm to determine the closest match to hard to read characters it came across which were almost impossible to read as a human. It did this in 10 minutes. Would have taken me weeks. Maybe.
New_Salamander_4592@reddit
software development and learning is rarely a race
NeitherAdvisor5558@reddit
If you know a concept or an action good enough for it to be a muscle memory for you then use AI to do it if it isnt then do it yourself and learn as you do
Dry_Builder_1251@reddit
Ai just swaps the manual part of writing to automated one.
In my workflows nothing else changes.
So are you slowing yourself down? I would say so.