I use AI all the time for coding. I also just don't care anymore and I was tired of coding (or building products) before AI. I think I like having a functioning tool more than knowing what goes into these days.
I know that sounds like pessimism, but I'm really content right now with ai and coding.
I don't tell my friends I like using the Google photo remix because that's kind of shameful, but it's so gender affirming haha
> Hearing so many people say that AI-generated code is unusable and fixing it takes longer than writing it by hand, makes me wonder if they are working on a very specific field or I just have skill issues.
In my work, there are people everywhere in the "AI adoption" spectrum.
On one hand, a certain Senior engineer spent a month having an AI write him thousands of lines of code for a feature. The AI wrote a million tests, tools to visualize data, everything. But he still has not delivered the code to the main repository since he knows nobody will ever review the mess the AI wrote, and he can't even properly understand it to defend it in review. We have human reviews as part of our process, the coworker is 100% stuck on it.
I, on the other hand, don't ask AI to write code for me, but I have AI explain me concepts, track down bugs, review my patches, etc. Sometimes it shows me patch format, but I prefer it doesn't touch my filesystem. I treat it as a senior employee whose task is to be there and help me. It's been going great. I am definitely more productive, I am coding faster, and the future is sustainable for me. Having it write shit for me would definitely be faster, but I want to use AI as a tool to teach me what to do, not do it for me.
There are also employees who are still working on the pre-AI model. Whenever AI is mentioned, they automatically assume it could be hallucinating and whatnot. To these, I never mention AI, because it simply derails the conversation to a useless point.
From what I see around me the first is by far and away the most common use case.
* Everybody thinks theyre more productive.
* Some devs do boost their productivity a bit.
* But nowhere near enough to counter the slop merchants.
On average if I measure productivity by pull requests, productivity has gone up. If I measure by bugs and incidents and value delivered, I think mostly it's gone down, often significantly due to the side effects of AI abuse and slop.
To be fair pull requests are a lot more measurable than the trust lost because of a series of critical bugs and incidents but if you work on the ground floor of a product you get a good sense of the relative trade offs.
If I look at open source as a whole ive noticed a rhyming pattern - established products aren't moving any faster these days (despite a flood of PRs) but there is a sudden new deluge of vibe coded projects you can wade through, none of which are really gaining traction.
Why ashamed? a more pertinent question should be on the level of involvement/expertise of the llm user in creating/enhancing the software. did they sort out all the design decisions, approaches, constraints, or did they let llm run wild. I have zero interest in tdd, coding and other aspects (since i've done a lot and it does not interest me anymore), however, i control every aspect of the software process, quality, performance, and integration workflows to produce quality software. someone else coding it in a maintainable way does not change the answer for me.
After 2+ years of using LLM agents to write code for me , I had to reclaim my engineering skills. It was so easy to create 50+ project with a sleek ui, but i could not explain any of them. It was easier to start a new project from scratch than was to dive in the code to understand what is going on.
The worst part is whenever my tokens ran out , my productivity was zero.
I was even an engineer anymore just a glorified prompter.
Lately i have changed how i work, i still use it but like a fancy autocomplete, a debugger,
I make it draft stuff for me , then i interrogate it, i make it justify every line of code that it writes, until i understand the code myself that i can write it if i wanted to.
Guys listen to me oneshot an entire feature may seem like you're 10x productivity but once the code it generate becomes complex even the agent can't deal with the complexity it itself created.
Big LLM companies market the product as coding is over, just become a prompter and buy our subsbscription fees.
We used to get paid to write code, now we pay to write code.
A calculator uses known deterministic algorithms to compute an answer. As long as you stay within the precision bounds, you'll get reliable and correct answers 100% of the time.
An AI is the result of randomness put through a simulated evolution, each one is different. We tend to expect them all to be the same, but that would be like redoing the big-bang until present, and expecting the dominant beings to be human, live in the same countries, speak the same languages, and believe all same cultural norms.
what does an internal process matter if the input to output transformations are acceptable. there are many many different ways of writing a software calculator, or a protocol stack, or codec modules; internally they may be wildly different, but as long their function mapping is identical, one's understanding does not play a role.
as a more extreme example: do we all understand how our brains work? we use it every day and interact with other brains.
ive noticed a real uptick in people trusting AI for stuff like medical advice because it always seems to make sense but when it comes to a specialist topic they know a lot about they can go on and on about all of the subtle and often quite dangerous mistakes it makes.
this has existed for centuries -- scientists who are religious, folks relying on quack doctors, astrology, tarot reading is nothing new. for every person willing to risk their lives by playing doctor, llm amplifies their belief, and it is not the fault of llm that the person lacked basic critical thinking skills. i don't believe technology invents human gullibility.
Of course, I just assume the responsibility for the output. I read everything and make changes all the time before I submit, but it saves me so much time source diving and finding entry points that I don't see myself ever going back.
I'm old and retired, so I don't have to use it at all. I've got a github and ChatGPT subscription, and I've used both from time to time.
I think it's important to disclaim AI generated content, as a matter of courtesy.
The Github CoPilot proved interesting, but when I tried to use it to create a simulator for my BitGrid project, it just created a massive pile of slop that kept growing and getting worse. On its own, it does nothing to curate code, it is strongly biased towards adding more patches.
ChatGPT is interesting for exploring ideas, but you can't trust its math, you have to check it. It easily gets itself off by 3 or more orders of magnitude when things get interesting.
I personally love using AI. It makes my coding more productive than ever.
About the AI generated slop thing, honestly a tool which i use is impeccable - you can find it on Github. It transforms your generic AI slop code into something beautiful.
Personally I'm really comfortable admitting I use AI - it just seems like the better way to do things!
I use LLMs to criticize my writing. Whereas Grok is absolutely useless at it, I can actually get Claude and ChatGPT to give me reasonable feedback. They point out when I've forgotten an "s" after the verb, when "which" may be preferable to "that", and so on. However, I'm completely incapable of getting the bots to generate even half-decent code:
Maybe it's a skill issue and my prompting is too weak. But this is HN so I will conclude that my coding skills are much superior to everyone else's, so while bots can code for you plebs, their coding is of little use to me.
I use AI all the time for coding. I also just don't care anymore and I was tired of coding (or building products) before AI. I think I like having a functioning tool more than knowing what goes into these days.
I know that sounds like pessimism, but I'm really content right now with ai and coding.
I don't tell my friends I like using the Google photo remix because that's kind of shameful, but it's so gender affirming haha
> Hearing so many people say that AI-generated code is unusable and fixing it takes longer than writing it by hand, makes me wonder if they are working on a very specific field or I just have skill issues.
In my work, there are people everywhere in the "AI adoption" spectrum.
On one hand, a certain Senior engineer spent a month having an AI write him thousands of lines of code for a feature. The AI wrote a million tests, tools to visualize data, everything. But he still has not delivered the code to the main repository since he knows nobody will ever review the mess the AI wrote, and he can't even properly understand it to defend it in review. We have human reviews as part of our process, the coworker is 100% stuck on it.
I, on the other hand, don't ask AI to write code for me, but I have AI explain me concepts, track down bugs, review my patches, etc. Sometimes it shows me patch format, but I prefer it doesn't touch my filesystem. I treat it as a senior employee whose task is to be there and help me. It's been going great. I am definitely more productive, I am coding faster, and the future is sustainable for me. Having it write shit for me would definitely be faster, but I want to use AI as a tool to teach me what to do, not do it for me.
There are also employees who are still working on the pre-AI model. Whenever AI is mentioned, they automatically assume it could be hallucinating and whatnot. To these, I never mention AI, because it simply derails the conversation to a useless point.
From what I see around me the first is by far and away the most common use case.
* Everybody thinks theyre more productive.
* Some devs do boost their productivity a bit.
* But nowhere near enough to counter the slop merchants.
On average if I measure productivity by pull requests, productivity has gone up. If I measure by bugs and incidents and value delivered, I think mostly it's gone down, often significantly due to the side effects of AI abuse and slop.
To be fair pull requests are a lot more measurable than the trust lost because of a series of critical bugs and incidents but if you work on the ground floor of a product you get a good sense of the relative trade offs.
If I look at open source as a whole ive noticed a rhyming pattern - established products aren't moving any faster these days (despite a flood of PRs) but there is a sudden new deluge of vibe coded projects you can wade through, none of which are really gaining traction.
Why ashamed? a more pertinent question should be on the level of involvement/expertise of the llm user in creating/enhancing the software. did they sort out all the design decisions, approaches, constraints, or did they let llm run wild. I have zero interest in tdd, coding and other aspects (since i've done a lot and it does not interest me anymore), however, i control every aspect of the software process, quality, performance, and integration workflows to produce quality software. someone else coding it in a maintainable way does not change the answer for me.
After 2+ years of using LLM agents to write code for me , I had to reclaim my engineering skills. It was so easy to create 50+ project with a sleek ui, but i could not explain any of them. It was easier to start a new project from scratch than was to dive in the code to understand what is going on.
The worst part is whenever my tokens ran out , my productivity was zero. I was even an engineer anymore just a glorified prompter.
Lately i have changed how i work, i still use it but like a fancy autocomplete, a debugger,
I make it draft stuff for me , then i interrogate it, i make it justify every line of code that it writes, until i understand the code myself that i can write it if i wanted to.
Guys listen to me oneshot an entire feature may seem like you're 10x productivity but once the code it generate becomes complex even the agent can't deal with the complexity it itself created.
Big LLM companies market the product as coding is over, just become a prompter and buy our subsbscription fees.
We used to get paid to write code, now we pay to write code.
IMO, it's like asking: do you feel comfortable admitting you used a calculator instead of doing mental math?
No, it's not like that at all.
A calculator uses known deterministic algorithms to compute an answer. As long as you stay within the precision bounds, you'll get reliable and correct answers 100% of the time.
An AI is the result of randomness put through a simulated evolution, each one is different. We tend to expect them all to be the same, but that would be like redoing the big-bang until present, and expecting the dominant beings to be human, live in the same countries, speak the same languages, and believe all same cultural norms.
Nobody really groks how alien AI truly is.
what does an internal process matter if the input to output transformations are acceptable. there are many many different ways of writing a software calculator, or a protocol stack, or codec modules; internally they may be wildly different, but as long their function mapping is identical, one's understanding does not play a role.
as a more extreme example: do we all understand how our brains work? we use it every day and interact with other brains.
ive noticed a real uptick in people trusting AI for stuff like medical advice because it always seems to make sense but when it comes to a specialist topic they know a lot about they can go on and on about all of the subtle and often quite dangerous mistakes it makes.
this has existed for centuries -- scientists who are religious, folks relying on quack doctors, astrology, tarot reading is nothing new. for every person willing to risk their lives by playing doctor, llm amplifies their belief, and it is not the fault of llm that the person lacked basic critical thinking skills. i don't believe technology invents human gullibility.
Are you familiar with the idea of probabilistic algorithms?
Determinism can be a liability.
Pretty much all the code I produce nowadays is generated with AI help, to some extent. No problem admitting it.
The value is not writing the code anymore, but deciding what to create and keeping the code maintainable and understandable.
If it was up to companies selling subscriptions. Nobody should even look at the code anymore. Just spend 200 bucks each month and you will be all set.
I admit i use AI for coding definitely too but after getting disillusioned with it.
I will definitely vibe code a prototype to quickly validate an idea. Once i see how it might work. I start from scratch and become more manual.
The more quality i want in a feature to be the more manually i get involved.
Of course, I just assume the responsibility for the output. I read everything and make changes all the time before I submit, but it saves me so much time source diving and finding entry points that I don't see myself ever going back.
For work tasks? No. My team is super anti-AI. But I tell them about all the stuff I've built with it for personal stuff.
Optimizing for comfort would be the wrong fitness function.
I'm old and retired, so I don't have to use it at all. I've got a github and ChatGPT subscription, and I've used both from time to time.
I think it's important to disclaim AI generated content, as a matter of courtesy.
The Github CoPilot proved interesting, but when I tried to use it to create a simulator for my BitGrid project, it just created a massive pile of slop that kept growing and getting worse. On its own, it does nothing to curate code, it is strongly biased towards adding more patches.
ChatGPT is interesting for exploring ideas, but you can't trust its math, you have to check it. It easily gets itself off by 3 or more orders of magnitude when things get interesting.
What is your best practices in terms of ensuring code quality?
I personally love using AI. It makes my coding more productive than ever.
About the AI generated slop thing, honestly a tool which i use is impeccable - you can find it on Github. It transforms your generic AI slop code into something beautiful.
Personally I'm really comfortable admitting I use AI - it just seems like the better way to do things!
I use LLMs to criticize my writing. Whereas Grok is absolutely useless at it, I can actually get Claude and ChatGPT to give me reasonable feedback. They point out when I've forgotten an "s" after the verb, when "which" may be preferable to "that", and so on. However, I'm completely incapable of getting the bots to generate even half-decent code:
https://news.ycombinator.com/item?id=48637538
Maybe it's a skill issue and my prompting is too weak. But this is HN so I will conclude that my coding skills are much superior to everyone else's, so while bots can code for you plebs, their coding is of little use to me.