I trusted an LLM, now I'm on day 4 of an afternoon project

Role of LLMs: Junior Dev, Tool, or Copilot?

  • Many frame LLMs as “junior devs faking competence” or “cocky grads”: can be productive but require heavy supervision.
  • Others say that’s the wrong framing: LLMs don’t learn or build trust over time; the human is the one who improves at “AI wrangling.”
  • Several argue they’re closer to power tools or nail guns than coworkers: massive leverage if you’re in control, dangerous if you aren’t.
  • Some push back on “we’re not expecting a copilot” because commercial products are explicitly marketed as such.

Where They Work Well

  • Boilerplate, scaffolding, repetitive translation (e.g., SDKs across languages, Rust no_std setups, WASM SIMD optimizations).
  • Acting as an “augmented search engine” or fluent interface to docs/Stack Overflow: surfacing concepts, APIs, package options, RFC details.
  • Placeholder or mundane code (tests, endpoints, simple screens), code completion/autocomplete, and research on common topics.
  • Learning aid for some: interactive tutoring, synthesizing tutorials and Wikipedia-like content, generating questions from notes.

Where They Fail or Mislead

  • Niche, hardware, and low-level work (Raspberry Pi/Arduino, Linux device trees, USB quirks, C alignment rules) where training data is noisy or sparse.
  • Subtle logic, TS generics, UI/UX details, multi-component interactions, and “second-order” issues.
  • Hallucinated APIs/behaviors, plausible but wrong math, and inability to admit ignorance.
  • Long conversations accumulating context drift; repeated “fixes” that reproduce the same bug; 99%-right code that hides a brutal 1% error.

Effective Usage Patterns

  • Seniors or people with strong fundamentals benefit more: they can say “this is obviously wrong” and use LLMs for acceleration, not substitution.
  • Strategies:
    • Maintain explicit specs/CONVENTIONS and feed them in each time.
    • Use LLMs to generate tests/boilerplate, then do refactoring and design yourself.
    • Restart chats when the model gets stuck; load specific docs instead of relying on generic knowledge.
    • Use adversarial/custom prompts to fight sycophancy and force self-critique.

Broader Concerns and Disagreements

  • Split between users who find LLMs transformational for side projects and those who waste days in “wild goose chase” debugging.
  • Worry that juniors will become dependent and never build deep skills, while seniors get even more leverage (“LLM paradox”).
  • Skepticism about hype that frames LLMs as imminent job-killers; many see them instead as mess-creators demanding more human oversight.