4 ms·
I disagree. I used to spend most of my time writing code, fixing syntax, thinking through how to structure the code, looking up documentation on how to use a li
by aurareturn 9mo ago
I disagree. I used to spend most of my time writing code, fixing syntax, thinking through how to structure the code, looking up documentation on how to use a library.
Now I first discuss with an AI Agent or ChatGPT to write a thorough spec before handing it off to an agent to code it. I don’t read every line. Instead, I thoroughly test the outcome.
Bugs that the AI agent would write, I would have also wrote. Example is unexpected data that doesn’t match expectations. Can’t fault the AI for those bugs.
I also find that the AI writes more bug free code than I did. It handles cases that I wouldn’t have thought of. It used best practices more often than I did.
Maybe I was a bad dev before LLMs but I find myself producing better quality applications much quicker.
- adrianN 9mo agoYou have way more trust in test suites than I do. How complex is the code you’re working with? In my line of work most serious bugs surface in complex interactions between different subsystems that are really hard to catch in a test suite. Additionally in my experience the bugs AI produces are completely alien. You can have perfect code for large functions and then somewhere in the middle absolutely nonsensical mistakes. Reviewing AI code is really hard because you can’t use your normal intuitions and really have to check everything meticulously.
- aurareturn 9mo agoIf it’s hard to catch with a comprehensive suit of test, what makes you think you can catch them by hand coding?
- skydhash 9mo agoA great lot of thinking about the code, which you can only do if you’re very familiar with it. Writing the code is trivial. I spend nearly all my work hours thinking about edge cases.
- aurareturn 9mo agoIf I vibe coded an app without looking at every line, I'm very familiar with how the app works and should work. It's just a different level of abstraction. It doesn't mean I'm not thinking about edge cases if I'm vibe coding. In fact, I might think about them more since I will have more time to think about them without having to write the code.
- adrianN 9mo agoMy context window is larger than an LLM's and I remember more implicit contracts between different systems.
- netdevphoenix 9mo ago> Now I first discuss with an AI Agent or ChatGPT to write a thorough spec before handing it off to an agent to code it. I don’t read every line. Instead, I thoroughly test the outcome. This is likely the future. That being said: "I used to spend most of my time writing code, fixing syntax, thinking through how to structure the code, looking up documentation on how to use a library.". If you are spending a lot of time fixing syntax, have you looked into linters? If you are spending too much time thinking about how to structure the code, how about spending some days coming up with some general conventions or simply use existing ones. If you are getting so much productivity from LLMs, it is worth checking if you were simply unproductive relative to your average dev in the first place. If that's the case, you might want to think, what is going to happen to your productivity gains when everyone else jumps on the LLM train. LLMs might be covering for your unproductivity at the code level, but you might still be dropping the ball in non-code areas. That's the higher level pattern I would be thinking about.
- aurareturn 9mo agoI was a good dev but I did not love the code itself. I loved the outcome. Other devs would have done better on leetcode and they would have produced better code syntax than me. I’ve always been more of a product/business person who saw code as a way to get to the end goal. That elite coder who hates talking to business people and who cares more about the code than the business? Not me. I’m the opposite. Hence, LLMs have been far better for me in terms of productivity.
- skydhash 9mo ago> I’ve always been more of a product/business person who saw code as a way to get to the end goal. That’s what code always is. A description on how the computer can help someone faster to the end goal. Devs care a little more about the description, because end goals change and rewriting the whole thing from scratch is costly and time-consuming. > That elite coder who hates talking to business people and who cares more about the code than the business? Not me. I’m the opposite. I believe that coder exists only in your imagination. All the good ones I know are great communicators. Clarity of thought is essential to writing good code.
- dns_snek 9mo ago> Example is unexpected data that doesn’t match expectations. Can’t fault the AI for those bugs. I don't understand, how can you not fault AI for generating code that can't handle unexpected data gracefully? Expectations should be defined, input validated, and anything that's unexpected should be rejected. Resilience against poorly formatted or otherwise nonsensical input is a pretty basic requirement. I hope I severely misunderstood what you meant to say because we can't be having serious discussions about how amazing this technology is if we're silently dropping the standards to make it happen.
- aurareturn 9mo agoI don't understand, how can you not fault AI for generating code that can't handle unexpected data gracefully? Because I, the spec writer, didn't think of it. I would have made the same mistake if I wrote the code.
- pegasus 9mo agoIf you'd write the code yourself, you'd be much more likely to remember to handle those cases as well.
- the_harpia_io 9mo ago[flagged]