Skip to content
Dev Tools Article

Why Software Feels Buggier Across the Board

Faster cycles and thin QA turned users into free testers. The pattern is older than it looks.

Lenn Voss
Lenn Voss
Cloud & Infrastructure Writer · Jul 15, 2026 · 7 min read
Why Software Feels Buggier Across the Board

The latest Hacker News thread asking whether software has gotten buggier across the board hit a nerve because the examples feel familiar. Random driver regressions after an auto-update. Pagination that dies in a cloud console and stays dead for a month. Zoom controls that stop working in a presentation tool. Office suites that quietly auto-correct the wrong language. These are not exotic edge cases. They are the texture of daily work for a lot of people, and the thread filled quickly with the same observation: something feels off, and it has for a while.

The complaint is not new. In 2006 people were already writing that everyday software just did not work the way it used to. In 2021 and 2023 the same notes reappeared: major cloud suites going dark, virtualization updates that had to be yanked, mobile OSes dumping users off Wi-Fi, desktop apps that quietly degrade after a few years of "improvements." What has changed is the delivery model and the incentive structure around it. Velocity rose. The quality multiplier did not. The result is more surface area for bugs and fewer people whose job is to catch them before they reach users.

Velocity without the quality multiplier

One of the clearest comments in the recent discussion put the math cleanly. If a team ships ten times faster, it needs roughly one-tenth the defect rate just to keep the user experience at the previous level of bugginess. That is not what most organizations optimize for. When a project that used to take a quarter can now be done in six weeks, the leftover time is almost never spent hardening the system. It is spent jamming another release into the same calendar. Feature throughput becomes the scoreboard. Stability is assumed to be free or someone else's problem.

That someone else used to be a dedicated QA function. Under the long Agile cycle many of those teams were cut, never hired, or folded into "everyone owns quality." In practice that often meant developers under deadline pressure and customers who report the breakage after it ships. Support tickets and public complaints became the primary test suite for a surprising amount of commercial software. Management still wants the next thing that can be sold or demoed. Polish and "lovability" do not show up cleanly on a quarterly dashboard, so they lose.

The pattern shows up in both consumer and enterprise stacks. Microsoft 365 browser experiences, Azure console quirks, Atlassian surface-level UI changes that introduce fresh friction: none of these are obscure. They are high-visibility products used by millions, and the failures still reach production. The same dynamic appears in driver updates that break working systems and in SaaS tools that silently alter user data or lose features users relied on. When distribution is free and continuous, the economic pressure to hold a release for thorough validation drops.

Continuous delivery changed the economics of bugs

Older software had a natural brake. Releases came on physical media or large, infrequent downloads. A bad version could kill a product because competitors had time to react and customers could not easily roll back. That forced more pre-release testing. Service packs were rare enough that they had to be solid. Today the opposite is true. Auto-update is the default for security reasons, and "ship it and fix it in production" is an accepted posture for many teams. The fix can be out tomorrow. The cost of a visible bug is lower for the vendor, higher for the person who just lost work or spent an afternoon reinstalling drivers.

Linux desktop and server experiences are a useful contrast. Several people in the thread noted that their Linux setups have grown more polished year over year, while commercial software keeps surprising them with random regressions. Open development, longer-lived release trains, and a culture that treats regressions as serious all play a role. The commercial side optimized for different variables: growth, engagement metrics, and time-to-market. Continuous delivery is a powerful tool. Without a matching investment in automated regression, property-based checks, and real canary processes, it simply moves the bug discovery cost onto the user base.

SaaS makes the problem harder to see from the vendor side and more painful from the customer side. When the application lives on someone else's machines, the IT team that used to stage an upgrade and smoke-test the actual workflows is gone. The vendor ships. The customer discovers. File-deletion bugs in collaboration tools, broken pagination in ML consoles, and language detection that actively sabotages writing are not theoretical. They land in production and stay until enough noise accumulates.

What this means for the people who write and ship the code

If you are a developer, the practical fallout is straightforward and mostly unwelcome. You own more of the quality surface than the org chart admits. That starts with treating automated tests as the only scalable substitute for the QA team that no longer exists. Unit tests catch the obvious. Integration and contract tests catch the seams that continuous delivery loves to break. Property-based and fuzzing approaches catch the weird interactions that manual QA used to find by accident. Snapshot and visual regression tests help when the UI is the product surface that keeps shifting.

Agentic coding raises the stakes. Generated code can move a feature forward quickly. It has no institutional memory of the edge cases the previous three maintainers already fixed. The only reliable guardrails are the tests and the specs you force the agent to satisfy. If the team does not write those first, the agent is just a faster way to produce the same class of bugs at higher volume. Several people in the discussion already treat this as the new baseline: either you write the tests or you write the precise specification. The model will not invent the missing quality bar for you.

On the process side, resist the velocity theater. When leadership celebrates the quarter that used to take a full quarter now finishing in six weeks, the correct engineering response is to spend the remaining time on the things that keep the defect rate from rising: hardening, observability, rollback paths, and canary analysis. Measure escaped defects. Track how long they live in production. Make those numbers as visible as the feature count. If the product is critical, treat auto-updates the way cautious operators already treat kernel and driver updates: stage them, watch them, and keep a known-good rollback. The days of "just take the latest" as a safe default are over for many stacks.

For teams that consume a lot of SaaS, the defensive posture is similar. Prefer tools that expose status, changelogs, and feature flags you control. Build small adapters and circuit breakers around the parts that break often. When a vendor ships a regression that takes a month to fix, the cost lands on your users and your support load. That is a product decision, not just an engineering inconvenience.

The pattern is structural

None of this requires a conspiracy or a sudden drop in individual skill. It is the predictable outcome of incentives that reward shipping volume over long-term reliability, combined with a delivery model that makes it cheap to push imperfect code and expensive to hold the line. The same conversation has recurred for two decades because the underlying pressures keep intensifying. Agentic tools will make the gap between "code that compiles" and "code that does not surprise users" even wider unless teams deliberately close it.

The teams that stay sane will treat reliability as a first-class product feature rather than residual work. That means tests written before the feature lands, canaries that actually gate rollout, and the willingness to tell a product manager that the six-week project still needs the remaining six weeks of polish. Everyone else will keep shipping the next thing and letting users discover the bugs. The feeling that software is buggier is not imaginary. It is the user experience of a system that optimized for speed and left quality as an unfunded mandate.

Sources & further reading

  1. Ask HN: Is it just me, or is software buggier across the board? — news.ycombinator.com
  2. Is software getting buggier? | InfoWorld — infoworld.com
  3. The Brutalist Report — brutalist.report
  4. Is Software Getting Worse? (Part I) — Transformational Technologist — transformationaltechnologist.com
  5. Is software getting worse? - ploeh blog — blog.ploeh.dk
Lenn Voss
Written by
Lenn Voss · Cloud & Infrastructure Writer

Lenn writes about cloud platforms, Kubernetes internals, and the infrastructure decisions that quietly make or break engineering organizations. Based in Berlin's vibrant tech scene, they have a talent for turning dense platform-engineering topics into prose that people actually finish reading.

Discussion 0

Join the discussion

Sign in or create an account to comment and vote.

No comments yet

Be the first to weigh in.

Related Reading