LLMs and Programming in the first days of 2024

Large language models are emerging as powerful but unreliable coding assistants, accelerating boilerplate work, documentation, tests, and unfamiliar API usage while still failing badly on deeper systems programming and subtle bugs. Commenters describe LLMs as most valuable when an experienced developer can quickly verify and correct output, contrasting their utility with deteriorating web search and tools like Kagi or Brave Search. Many expect LLMs to change the nature of programming work—shifting value from rote code writing to higher-level design and reasoning—while expressing anxiety about job displacement and skepticism toward hype that portrays current models as near-human reasoners.

LLMs vs. Traditional Search

  • Many commenters say general web search has degraded due to ads and SEO spam, making LLMs and alternative engines attractive.
  • Paid search engines (e.g., with site blocking/pinning features) and specialized tools (Brave with “goggles”, phind, perplexity) are suggested as complements or replacements for Google.
  • Some still find good results on Google, suggesting quality may have recently improved or is query-dependent.

How Developers Use LLMs

  • Common uses: boilerplate code, glue code, tests, SQL, configs, docs, diagrams, AWS/bash snippets, legacy code understanding, and quick prototypes.
  • LLMs are especially valued for:
    • Lowering activation energy to start/finish side projects.
    • Acting as a “junior dev” or tutor, explaining unfamiliar APIs or concepts.
    • Helping experienced engineers in domains where they’re temporarily “junior”.
  • Systems/low-level work: several report LLMs perform poorly where deep domain expertise or tricky bit-level reasoning is needed.

Reliability, Verification, and Risk

  • Strong consensus that LLM output must be reviewed; hallucinations and subtly wrong code are common.
  • Programming is seen as relatively suitable because code can often be compiled, tested, or property-checked, though others stress that “it compiles” ≠ “it’s correct or secure”.
  • Some use LLMs to generate both code and tests; others distrust test generation from the same model that wrote the code.

Impact on Work and Careers

  • Many feel personally more productive or “supercharged”; others feel left out because models fail exactly where they need help.
  • Views diverge on job impact:
    • Some expect fewer traditional programming jobs and more focus on architecture, product thinking, and testing/verification.
    • Others argue demand for software will grow (historical automation pattern), but advise individuals to be ready to retrain.
  • Concern exists about juniors relying on LLMs to produce code they don’t understand.

Tools, Workflows, and Local Models

  • Discussion of IDE integrations (Copilot, Cody, Continue, Wingman, Cursor) and CLI tools (e.g., agents that edit codebases directly) to avoid copy-paste workflows.
  • Mixed experiences with autocomplete: some find it transformative, others find it distracting.
  • Local code-focused models (Deepseek Coder, CodeLlama variants, Phind models) via frameworks like Ollama are emerging as privacy-preserving, if weaker, options.

Reasoning, Hype, and “Junk Knowledge”

  • Debate over whether LLMs “reason” or merely interpolate training data; some emphasize practical capability over philosophical certainty.
  • Several see LLMs as a way to offload ephemeral, tool-specific “junk knowledge” (APIs, configs) and focus human effort on durable concepts (algorithms, data structures, math).
  • Others worry marketing and hype are causing people to over-ascribe capability to inherently unreliable systems.