Tell HN: I Lost Joy of Programming
Diverging Emotional Reactions to LLM-Based Coding
- Some posters say LLMs restore or increase joy: less boilerplate and syntax chasing, more time for design, architecture, algorithms, and exploring new domains (DevOps, infra, game dev, ML tooling).
- Others say LLMs remove joy: they feel like project managers or team leads writing specs and JIRA tickets for a sloppy junior, rather than crafting code. Prompting + waiting + patching feels hollow.
- Several people explicitly avoid LLMs for fun projects, using them only at work or only for tedious tasks.
Quality, Review, and “Vibe Coding”
- Strong criticism of “fire-and-forget” use: not reviewing AI-generated code is widely seen as irresponsible and a path to unmaintainable “AI slop.”
- Many stress that current models cannot reliably make senior-level decisions; they hallucinate, over-engineer, and often miss edge cases.
- “Vibe coding” (loosely prompting and accepting large, opaque changes) is described as miserable and dangerous; preferred alternatives are:
- AI-written small, verifiable changes.
- Conversation-based assistance.
- Using LLMs only for patches, tests, refactors, or code translation.
Impact on Skills, Learning, and Craft
- Concern that relying on LLMs erodes skills and mental models; some feel themselves getting lazier or losing their competitive edge.
- Worry that juniors won’t get the years of low-level experience needed to become good architects if early-career work is automated.
- Others argue programming has always been about abstraction and writing less code; LLMs are just a new, higher-level “language.”
Work, Motivation, and Capitalism
- Some see this as the classic transition from coding to management/architecture: writing specs and checking outcomes instead of hands-on work.
- There’s frustration that organizations value speed and volume over quality; LLMs amplify this “ship fast” culture.
- A few predict demand for “AI slop fixers” and fear exploding technical debt; others think the real differentiator will be people who can direct AI well.
Coping Strategies and Alternatives
- Suggested approaches:
- Use LLMs only for boilerplate, UI layout churn, schema/DSL conversions, tests, and glue code.
- Keep hand-written control over “meaty” or novel parts.
- Turn off editor integrations if they disrupt flow; use chat tools ad hoc.
- Treat AI as an assistant, not an autonomous developer; tighten prompts, limit scope, and review everything.
- Several recommend breaks, side projects without AI, or reframing joy from “writing code” to “creating software/products.”