We are destroying software
Overall reception & tone
- Many see the essay as emotionally resonant but rhetorically over‑the‑top: more a crafted rant than an argument with clear solutions.
- Some read it as a useful “wake‑up call” about culture and long‑term consequences; others call it nostalgia, cynicism, or “old man yells at cloud.”
- Several argue the critique is heavily skewed toward Silicon Valley–style web development and doesn’t reflect the entire industry.
Reinventing the wheel, rewrites & backward compatibility
- Commenters highlight tension between:
- “Don’t reinvent the wheel” vs encouraging learning by re‑implementing things.
- Preserving backward compatibility vs avoiding ever‑growing complexity and lock‑in.
- Some say the industry has over‑indexed on “never rewrite,” others that SemVer culture normalized breaking APIs and forces constant, painful upgrades.
- Consensus: both rewrites and reinvention are sometimes right; the damage comes from applying any simple rule universally.
Complexity, dependencies, and the modern stack
- Many agree software systems have become bloated: deep dependency trees, fragile build systems, containers everywhere just to run “simple” services.
- Web and npm/Electron stacks are frequent examples of accidental complexity that’s easy short‑term but hard to keep running for 10–20 years.
- Pushback: abstractions are how we scale; lower‑level isn’t automatically “better,” and demand for distributed, mobile, secure, integrated systems really has grown.
Business incentives & engineering culture
- A recurring theme: it’s less “engineers destroying software” and more business models that reward speed, feature count, and “impact” over robustness, simplicity, and maintainability.
- Resume‑driven development, job‑hopping, metrics gaming, “move fast and break things,” and under‑valued documentation are all seen as systemic symptoms.
- Some note that quality is often rationally traded away when products or companies may not exist in a few years.
Longevity, quality, and performance
- Several argue we write too much short‑lived, hard‑to‑maintain code, and too few people ever see the long‑term consequences of their design decisions.
- Others counter that not all systems need to last 30 years; many business domains change faster than that.
- Strong minority concern about loss of performance‑minded craft and the normalization of slow, buggy software as “good enough.”
AI & the future of programming
- The post’s request to “remove AI from the ledger” is contested. Some say recent life improvements (delivery, streaming, digital services) don’t require today’s complexity; others insist overall welfare has clearly improved.
- On AI tools: some see them as accelerating the same cultural problems (less understanding, more code churn); others see them as a way to strip away tedium and refocus on design and outcomes.