Essential insights from Hacker News discussions

Generative AI coding tools and agents do not work for me

Here's a breakdown of the key themes from the Hacker News discussion, supported by direct quotes:

Time Savings and Productivity

The most prominent theme is whether LLMs like Claude Code actually save time and increase productivity. Many users express initial enthusiasm that wanes as they gain experience.

  • Overestimated Time Savings: "I’ve found that the main benefit for me so far is the reduction of RSI symptoms, whereas the actual time savings are mostly over exaggerated (even if it feels faster in the moment)." (jumploops)
  • Not Actually Faster: "I do similar and find that this is the best compromise that I have tried. But I still find myself nodding along with OP. I am more and more finding that this is not actually faster, even though it certainly seems so." (adastra22)
  • Simple Tasks Are Great: "If it's a simple task, or you're making something that won't grow into something larger, eyeballing the code and testing it is usually perfect. These types of tasks feel great with Claude Code." (hatefulmoron)
  • Reimplementation Takes Longer: "Let’s just say it’s going a lot slower than the first time I built it by hand :)" (jumploops)

However, some disagree, noting significant time savings in specific scenarios:

  • Time Savings Real: "I always use Claude Code to debug issues, there’s no point in trying to do this yourself when AI can fix it in minutes (easy to verify if you write tests first) o3 with new search can do things in 5 mins that will take me at least 30 mins if I’m very efficient. Say what you want but the time savings is real." (sagarpatil)

The Importance of Guidance and Scaffolding

A recurring theme is the necessity of providing significant guidance and structure to LLMs to achieve desired outcomes. This includes using specifications, acceptance criteria, and architectural oversight.

  • Spec Files are a Must: "My workflow is to have spec files (markdown) for any changes I’m making, and then use those to keep Claude on track/pull out of the trees. Not super necessary for small changes, but basically a must have for any larger refactors or feature additions." (jumploops)
  • Architecture Concerns: "Even with careful planning and spec building, Claude Code will still paint you into a corner when it comes to architecture. In my experience, it requires a lot of guidance to write code that can be built upon later." (hatefulmoron)
  • Need to Give Guidance: "Well yeah. You need to give it lots of guidance, like someone who works for you." (hatefulmoron)
  • Close Guidance Needed: "Without relatively close guidance, it will paint you into a corner in terms of architecture. Guide it, direct it, whatever you want to call it." (hatefulmoron)
  • Rigorously Validate Correctness: "Generative AI coding just forces the mindset you should have had all along: start with acceptance criteria, figure out how you're going to rigorously validate correctness (ideally through regression tests more than code reviews), and use the review process to come up with consistent practices (which you then document so that the LLM can refer to it)." (cbsmith)

Code Review and Skill Degradation

The discussion delves into the altered role of code review when using LLMs and the potential for skill degradation in developers who primarily review LLM-generated code.

  • Code Review Always Necessary: "There's an implied assumption here that code you write yourself doesn't need to be reviewed from a context different from the author's." (cbsmith)
  • Reviewing a Psychopath: "code as if your work will be read by a psychopath who knows where you live" followed by the joke "they know where you live because it is future you"." (cbsmith)
  • Losing Skills?: "There's an implied assumption here that developers who end up spending all their time reviewing LLM code won't lose their skills or become homicidal. :p" (Terr_)
  • Drifting Experience: "I think the average experience would drift away from "I thought X was the obvious way but now I see by doing Y you were avoid that other problem, cool" and towards "I don't see the LLM doing anything too unusual compared to when I ask it for things, LGTM."" (Terr_)
  • Honing Your Skills: "But being exposed to a lot of different 'writing opinions' tends to hone your own." (cbsmith)

Testing and Validation

The importance of robust testing practices is emphasized, especially in the context of LLM-generated code. Some advocate for writing tests before looking at the code.

  • Write Tests First To Verify: "I always use Claude Code to debug issues, there’s no point in trying to do this yourself when AI can fix it in minutes (easy to verify if you write tests first)" (sagarpatil)
  • Tests are Concerned with Behavior: "Same way you normally would? Tests are concerned with behaviour. The code that implements the behaviour is immaterial." (9rx)
  • Spot Check Incorrectness: "Tests can never verify the correctness of code, they only spot-check for incorrectness." (layer8)

Autocompletion and Focus

The discussion highlights the potentially disruptive nature of autocompletion features, with some users finding them helpful and others finding them distracting.

  • Fancy Autocomplete: "90% of my usage of Copilot is just fancy autocomplete: I know exactly what I want, and as I'm typing out the line of code it finishes it off for me." (royal__)
  • Focus Destroyer: "My experience is that the "fancy autocomplete" is a focus destroyer." (kibibu)
  • Shifts Focus to Code Review: "Focus shifts from writing to code review." (kibibu)
  • Fascinating Brain Differences: "It's fascinating how differently people's brains work." (atq2119)
  • Unconscious Typing: "Typing code is always semi-unconscious. Just like you don't pay that much attention to every character when you're writing notes on paper." (skydhash)

Code as Throwaway

An intriguing idea is brought up that the decreasing cost of LLM-generated code encourages a willingness to discard and regenerate code as needed.

  • Code is Increasingly Throwaway: "Another issue is that as long as you ensure it builds good enough tests, the cost of telling it to just throw out the code it builds later and redo it with additional architectural guidance keeps dropping. The code is increasingly becoming throwaway." (vidarh)