I wrote an essay about why I'm done using AI for coding, even if it costs me my job and career: https://brettcodes.com/im-done-using-ai/
-
@iinavpov @brettcodes Yes. One needs to understand the limits of one's tools.
@cpr320
Perhaps more central to the post starting this thread, I suspect the very act of "asking" an algorithm for an "explanation" is a slippery slope to believing something about as clever as a gnat (if that) has cognition.And then the spiral starts.
Because I suspect the answer to my question above is a respectable 80% , which is both amazing and utter garbage.
@brettcodes -
@cpr320
so you get a statistically plausible explanation of a statistically plausible piece of code corresponding to a statistically plausible purpose? At what point do we collectively agree that a magic 8 ball is about as correct?
@brettcodes@iinavpov @brettcodes You test your code. You investigate some parts of the code carefully. After a while, you get an understanding of how far and when you can trust it.
And you find that it's better than a magic eight ball.
Look, I understand that lots of people (me included to a degree) have well-founded misgivings about AI. But it doesn't help to put your head in the sand.
-
@iinavpov @brettcodes You test your code. You investigate some parts of the code carefully. After a while, you get an understanding of how far and when you can trust it.
And you find that it's better than a magic eight ball.
Look, I understand that lots of people (me included to a degree) have well-founded misgivings about AI. But it doesn't help to put your head in the sand.
@cpr320
The point here is that when I code, at the end of the process, I'm a better coder.WTF would I (or anyone) pay to become a worse programmer when they can become a better one for free? *Without the cognitive risk*.
*Even* if it worked as advertised, it would make no sense versus training an intern.
@brettcodes -
@cpr320
The point here is that when I code, at the end of the process, I'm a better coder.WTF would I (or anyone) pay to become a worse programmer when they can become a better one for free? *Without the cognitive risk*.
*Even* if it worked as advertised, it would make no sense versus training an intern.
@brettcodes@iinavpov @brettcodes Let me tell you a story about "better" and "worse" that seems analogous to using AI in coding.
When I started seriously programming, back on the 1980s, I wrote a lot of libraries. If it was a numerical computation, I'd read the academic paper, implement it, test it and fix all the bugs I'd written. Then use it and rewrite or debug some more. I was **proud** of those libraries.
Then, the Internet and numpy happened, and all of a sudden, I didn't need to write numeric libraries any more. It hurt. I felt that I was reduced to gluing libraries together. I couldn't do the "real" coding any more.
But life goes on, and I mostly use scipy these days. I still itch to do some real coding sometimes. But I get more done, with fewer bugs. And my job is to solve problems, not to write another Runge-Kutta implementation.
I dislike trusting library code I didn't write, but I do, because that's how you got stuff done in 2024.And I see AI coding as another, similar revolution. I'm depending more on code that something else /someone else wrote. It's like the library revolution all over again.
And I'm not a worse programmer because I use libraries. Different, though.
-
@cpr320
Of course it's pointless to implement numerical algorithms. And really going it *right* such that is really efficient is very, very difficult.It's pointless for the purpose of creating a library.
But It's extremely valuable to have done it. You can judge the libraries you use. You have a deep sense of why the API is like it is. you're a much better user of the libraries.
LLMs try to prevent you from being better. And literature indicates they're making you worse.
@brettcodes@cpr320
I've implemented numerical algorithms. They ran pretty well! I didn't use external libraries because that avoided dependencies.That was OK for the purpose. Today, depending on the specifics, I'd use my code or a library depending on whether dependencies or performance edged it. I have the *choice*.
LLMs will never give you that choice.
So the code will be worse.
@brettcodes -
@iinavpov @brettcodes Let me tell you a story about "better" and "worse" that seems analogous to using AI in coding.
When I started seriously programming, back on the 1980s, I wrote a lot of libraries. If it was a numerical computation, I'd read the academic paper, implement it, test it and fix all the bugs I'd written. Then use it and rewrite or debug some more. I was **proud** of those libraries.
Then, the Internet and numpy happened, and all of a sudden, I didn't need to write numeric libraries any more. It hurt. I felt that I was reduced to gluing libraries together. I couldn't do the "real" coding any more.
But life goes on, and I mostly use scipy these days. I still itch to do some real coding sometimes. But I get more done, with fewer bugs. And my job is to solve problems, not to write another Runge-Kutta implementation.
I dislike trusting library code I didn't write, but I do, because that's how you got stuff done in 2024.And I see AI coding as another, similar revolution. I'm depending more on code that something else /someone else wrote. It's like the library revolution all over again.
And I'm not a worse programmer because I use libraries. Different, though.
@cpr320
Of course it's pointless to implement numerical algorithms. And really going it *right* such that is really efficient is very, very difficult.It's pointless for the purpose of creating a library.
But It's extremely valuable to have done it. You can judge the libraries you use. You have a deep sense of why the API is like it is. you're a much better user of the libraries.
LLMs try to prevent you from being better. And literature indicates they're making you worse.
@brettcodes -
I wrote an essay about why I'm done using AI for coding, even if it costs me my job and career: https://brettcodes.com/im-done-using-ai/
The basic gist is: AI made me a worse, apathetic programmer. I think it's bad for humanity, the planet, and the craft of software engineering. And I'm done using it.
@brettcodes I've never worked as part of a software development team, so any industry advice I might give would be about as good as AI slop. So, grain of salt.
But for what it's worth, I think your own observation demonstrates that you made the right choice: "I had a conversation with management about how a developer's job is now is to teach the AI to be better, make fewer mistakes, etc."
Sounds to me like you were training your replacement.
-
I also made a ramble-y video about why I'm done using AI for coding: https://youtu.be/2ZU3j4GQ4K8
@brettcodes Very insightful video. Thank you for sharing!
-
@brettcodes The comment regarding 3x more productive not resulting in higher turnover / etc; I think what exacerbates this problem is the widely held view in industry that developers are builders and if they aren't building then they represent an ongoing sunk cost, so you always ended up with devs being assigned development busy work... The reality in most small to medium orgs is that the developers become the product custodians, despite what the business thinks is going on.
@toerror @brettcodes a problem software has ALWAYS had is that the people who measure our productivity are only focused on the near term, they often only see maintaining and bug fixing as costs. It is rare to have engineering management and developers able to share an honest pragmatic view on priority, planning and maintenance
-
@brettcodes
I'm so glad to see people in similar situations like me around here. Basically being forced by their employers to "AI or die", no matter the quality or ecological, financial, psychological cost.
Most of the time, the heavy AI-first strategies even directly contradict the ambitious sustainability goals and promises the very same companies put in place just a few years ago. Carbon neutrality in 2030 my ass - they're directly burning our fucking planet!The people also using the AI think they’re better than they are, which lowers the overall quality and turns the industry into a black hole of sunken costs.
-
@brettcodes
I'm so glad to see people in similar situations like me around here. Basically being forced by their employers to "AI or die", no matter the quality or ecological, financial, psychological cost.
Most of the time, the heavy AI-first strategies even directly contradict the ambitious sustainability goals and promises the very same companies put in place just a few years ago. Carbon neutrality in 2030 my ass - they're directly burning our fucking planet!@gurkenlabs @brettcodes I work at a company selling sustainability management software and a coworker constantly says things like "I don't care how much water it uses. I asked five agents to do the task."
-
@brettcodes At work, we use AI for coding, but our team decided that human review is important. And , while I see where you're coming from, it doesn't have to be as bad as you describe.
We use a mixed human-AI review. Partly questioning the AI ("how do you know that loop terminates?") and partially reading the code. And, also, reading the comments: if the comments/docstrings make sense, you're half-way there.
And when we're writing, we have the AI do a plan, then question it, and review the plan before letting it go. And then run an eyeball over the result.
So, I think we're not forgetting our code, and we have a process that produces decent quality code. And it really helps to have management buy-in and good tools.
One advantage is that I appreciate the damn machine remembering (mostly correctly) the details of thousands of library functions for me. I'm over 60, and remembering library details is harder than when you're 40. And I've been in the business long enough to be suspicious of most hallucinated, too-good-to-be-true API calls, so I don't get sidetracked too often.
So that's our 2026 situation. AI coding sucked in 2025, and who knows what 2027 will bring.
@cpr320 @brettcodes At my company, people theoretically should check their vibe coded stuff before they submit it for review, but many devs don't actually do that, leaving it to non-AI devs to clean up ALL their code which the vibe coders don't feel any responsibility for
-
@iinavpov @brettcodes Let me tell you a story about "better" and "worse" that seems analogous to using AI in coding.
When I started seriously programming, back on the 1980s, I wrote a lot of libraries. If it was a numerical computation, I'd read the academic paper, implement it, test it and fix all the bugs I'd written. Then use it and rewrite or debug some more. I was **proud** of those libraries.
Then, the Internet and numpy happened, and all of a sudden, I didn't need to write numeric libraries any more. It hurt. I felt that I was reduced to gluing libraries together. I couldn't do the "real" coding any more.
But life goes on, and I mostly use scipy these days. I still itch to do some real coding sometimes. But I get more done, with fewer bugs. And my job is to solve problems, not to write another Runge-Kutta implementation.
I dislike trusting library code I didn't write, but I do, because that's how you got stuff done in 2024.And I see AI coding as another, similar revolution. I'm depending more on code that something else /someone else wrote. It's like the library revolution all over again.
And I'm not a worse programmer because I use libraries. Different, though.
@cpr320 @iinavpov @brettcodes That comparison doesn't entirely hold up: I'm not saying, all libraries are perfect, but there is a significant difference between libraries and LLM-generated code.
– Libraries are deterministic: At the point where you use them, they've been tested by automatic tools and probably already been "battle-tested" by other devs who might have submitted bug reports. With LLM-generated code, you are entirely on your own1/
-
@cpr320 @iinavpov @brettcodes That comparison doesn't entirely hold up: I'm not saying, all libraries are perfect, but there is a significant difference between libraries and LLM-generated code.
– Libraries are deterministic: At the point where you use them, they've been tested by automatic tools and probably already been "battle-tested" by other devs who might have submitted bug reports. With LLM-generated code, you are entirely on your own1/
@cpr320 @iinavpov @brettcodes
– Libraries are (not always, but on average) written by "experts" and with "collective intelligence" if they are open source, meaning that they are constantly improved, so they tend to be better implementations than a custom one would usually be2/
-
@cpr320 @iinavpov @brettcodes
– Libraries are (not always, but on average) written by "experts" and with "collective intelligence" if they are open source, meaning that they are constantly improved, so they tend to be better implementations than a custom one would usually be2/
– The entire point of using libraries is that you don't have to maintain them because someone (usually responsible) takes care of it for you. But you still have to maintain LLM-generated code yourself even if you use an LLM for code maintenance
– You can still contribute to open-source libraries3/
-
– The entire point of using libraries is that you don't have to maintain them because someone (usually responsible) takes care of it for you. But you still have to maintain LLM-generated code yourself even if you use an LLM for code maintenance
– You can still contribute to open-source libraries3/
– If you just glue libraries together, your code seems to be not that complex. This doesn't apply to all projects. There are pretty complex apps where you still get your share of custom code
– You can blame the library but you can blame your own code. LLMs can't take responsibilities, you have to sign-off on them.4/4
-
I wrote an essay about why I'm done using AI for coding, even if it costs me my job and career: https://brettcodes.com/im-done-using-ai/
The basic gist is: AI made me a worse, apathetic programmer. I think it's bad for humanity, the planet, and the craft of software engineering. And I'm done using it.
@brettcodes I'd be interested to know how this pans out for you. It's quite a reasonable position to take on a solo project, but if you're working with a team of people addicted to AI, the entire codebase may regularly shift under you whenever a bot is used.
-
@gurkenlabs @brettcodes I work at a company selling sustainability management software and a coworker constantly says things like "I don't care how much water it uses. I asked five agents to do the task."
@shaedrich
OMG, the hypocrisy is real.
@brettcodes -
The people also using the AI think they’re better than they are, which lowers the overall quality and turns the industry into a black hole of sunken costs.
@cyberquixote
They do everything that promises a way of paying human workers less. Deskilling, demotivating, and superficially "replacing" humans with AI is working exactly as designed.
@brettcodes -
I wrote an essay about why I'm done using AI for coding, even if it costs me my job and career: https://brettcodes.com/im-done-using-ai/
The basic gist is: AI made me a worse, apathetic programmer. I think it's bad for humanity, the planet, and the craft of software engineering. And I'm done using it.
@brettcodes I really hope we'll start seeing more push back like yours in the near future. Seeing the industry adopting AI nonchalantly has been very disappointing. Same way it was disappointing seeing the industry push back against unions.