• akkartik 4 hours ago
    Human beings are ephemeral. They're born, they die.

    Everything human beings create is ephemeral. That restaurant you love will gradually drop standards and decay. That inspiring startup will take new sources of funding and chase new customers and leave you behind, on its own trajectory of eventual oblivion.

    When I frame things this way, I conclude that it's not that "software quality" is collapsing, but the quality of specific programs and companies. Success breeds failure. Apple is almost 50 years old. Seems fair to stipulate that some entropy has entered it. Pressure is increasing for some creative destruction. Whose job is it to figure out what should replace your Apple Calculator or Spotify? I'll put it to you that it's your job, along with everyone else's. If a program doesn't work, go find a better program. Create one. Share what works better. Vote with your attention and your dollars and your actual votes for more accountability for big companies. And expect every team, org, company, country to decay in its own time.

    Shameless plug: https://akkartik.name/freewheeling-apps

  • cgearhart 3 hours ago
    I think there’s often a misalignment of incentives when annual perf reviews are judged on feature work delivered not quality. Engineers who spend any time polishing or finding and fixing bugs wind up rated mid, while folks who quickly crank out mediocre or bad code that does something new are on a fast track for promotion. This creates a current in the whole org where PMs, engineers, managers, etc., are all focused on new things all the time. Any quality work has to accompany a new feature proposal for traction, and the quality items in that project will never get cross functional support like the new feature work does.

    This resource allocation strategy seems rational though. We could consume all available resources endlessly polishing things and never get anything new shipped.

    Honestly it seems like the another typical example of the “cost center” vs “revenue center” problem. How much should we spend on quality? It’s hard to tell up front. You don’t want to spend any more than the minimum to prevent whatever negative outcomes you think poor quality can cause. Is there any actual $ increase from building higher quality software than “acceptable”?

    [-]
    • godelski 53 minutes ago
      This just makes it sound like software engineering hasn't matured yet to realize we're building real world systems. It's still a pretty new field, comparatively, but big companies can't run like startups. They should have groups in them that look like that, but not for most groups
    • razoorka 3 hours ago
      I would prefer to pay 20% more for product which works perfectly, than for product which almost works. But no one asked me.
      [-]
      • OutOfHere 2 hours ago
        You shouldn't, because that 20% more will not go to the engineers; it will go to parasitic management. Money is better if paid for services than for software. I would find well-maintained open source software instead, perhaps contribute to one, or put in the effort to develop one.
        [-]
        • godelski 22 minutes ago
          I'm not sure this really matters at this point. It's like filming yourself giving food to the homeless. Is it better if you didn't? Yeah, probably. But at the end of the day does that person have food when otherwise they wouldn't? Also yeah.

          I'd rather take a step in the right direction than none at all. If the management can be convinced that there's more money to be made this way then that gives us engineers more power to convince them to solve other such problems. If they care about quality then that gives us back negotiating power. You don't outsource to a third world software mill or AI when your concern is quality. But you do when you were trying to sell the cheapest piece of shit that people will still buy. So yeah, I'm okay with this

          [-]
          • OutOfHere 47 seconds ago
            You can be okay with it, but it's not going to solve the problem. Management will fix the issue, then soon revert to enshittification and exploitation, so your next major issue will stay unfixed. In the best case, your software will become an annual subscription where you've to keep paying an obscene amount for no new features at all. Overall, it would be a step in the right direction, but only a single step.

            > You don't outsource to a third world software mill or AI when your concern is quality.

            That's a disastrously fallacious set of presuppositions. A good engineer will use AI well to improve their software, whereas a bad engineer will use it to produce junk.

      • godelski 26 minutes ago

          > I would prefer to pay 20% more
        
        That's the problem with lemon markets though. They are a feedback loop and usually dependent on asymmetric information.

        As a simple version think about it this way: if a customer can't tell the difference in quality at time of purchase then the only signal they have is price.

        I think even here on HN if we're being honest with ourselves it's hard to tell quality prior to purchase. Let alone the average nontechnical person. It's crazy hard to evaluate software even hands on. How much effort you need you put in these days. The difficulty of differentiating sponsored "reviews" from legitimate ones. Even all the fake reviews or how Amazon allows changing a product and inheriting the reviews of the old product.

        No one asks you because all the sellers rely too heavily on their metrics. It's not just AI people treat like black boxes, it's algorithms and metrics in general. But you can't use any of that effectively without context.

        At engineers I think we should be a bit more grumpy. Our job is to find problems and fix them. Be grumpy to find them. Don't let the little things slip because even though a papercut isn't a big deal, a thousand is. Go in and fix bugs without being asked to. Push back against managers who don't understand. You're the technical expert, not them (even if they were once an engineer, those skills atrophy and you get disconnected from a system when you aren't actively working on it). Don't let them make you make arguments about some made up monetary value for a feature or a fix. It's managements job to worry about money and our job to worry about the product. There needs to be a healthy adversarial process here. When push comes to shove, we should prioritize the product over the profit while they should do the opposite. This contention is a feature, not a bug. Because if we always prioritize profits, well, that's a race to the bottom. It kills innovation. It asks "what's the shittiest cheapest thing we can sell but people will still buy". It enables selling hype rather than selling products. So please, be a grumpy engineer. It's in the best interest of the company. Maybe not for the quarter, but it is for the year and the decade. (You don't need to be an asshole or even fight with your boss. Simply raising concerns about foreseeable bugs can be a great place to start. Filling bug reports for errors you find too! Or bugs your friends and family find. Or even help draft them with people like on HN that raise concerns about a product your company works on. Doesn't need to be your specific team, but file the bug report for someone who can't)

        And as the techies, we should hold high standards. Others rely on us for recommendations. We need to distill the nuances and communicate better with our nontechnical friends and family.

        These won't solve everything but I believe they are actionable, do not require large asks, and can push some progress. Better something than nothing, otherwise there will be no quality boots to buy

        https://en.wikipedia.org/wiki/Boots_theory

  • al_borland 4 hours ago
    Where I’m at, needless complexity is forced upon us. At the same time, we are constantly pushed to deliver new capabilities on timelines that are dictated to us, devoid of any grounding in reality. There is no room to even have the conversation about proper design or solving the right problems. It’s all about hitting arbitrary dates with “features” no one really cares about, while ignoring the foundation it all has to sit on.

    The more loudly someone speaks up, the faster they are shown the door. As a result, most people keep their head down, pick their battles carefully, and try to keep their head above water so they can pay the rent.

    [-]
    • razoorka 2 hours ago
      I wouldn't work at a place that doesn't value my perspective either. The problem is that most engineers realize this 6-12 months in, after they're already invested, and leaving means starting over. This is why "keep your head down to pay rent" becomes the default. The system is designed to make speaking up too expensive.
    • irvingprime 3 hours ago
      You are in a completely normal dev shop. What's happened is that the start up mentality of "ship something - anything, and ship it NOW" has infected everything. Maybe over time you can make it better. But educating management can be a slow and frustrating process. Good luck!
  • zzo38computer 3 hours ago
    I agree there is this problem, which is why I try to write software that is actually good (and use software that is actually good, if it is available). It is also one reason why I still use some DOS programs (even with emulation, which is slow, it is still better than the bad quality they have in newer computers).

    I do not use any of the software mentioned in that article, and I also do not have that much RAM in my computer.

    [-]
    • razoorka 2 hours ago
      This is the core philosophical divide in modern software development.

      The "vibe coding MVP" crowd treats code as disposable—ship fast, validate the idea, and discard it if it doesn't work.

      The problem: most MVPs never get thrown away. They get customers, then funding, then "we'll refactor later" becomes "we can't afford downtime to refactor."

      That's how you end up with production systems built on prototypes that were never meant to handle real load.

      I'm with you: if you're not willing to build it properly, don't build it at all. Technical debt compounds faster than most founders realize.

      The Twitter mob defends vibe coding because it worked once for someone. However, for every success story, there are thousands of companies struggling with unfixable codebases.

      Do it right or don't do it. There's no "we'll fix it later" in production.

  • yobbo 4 hours ago
    Short answer: because lock-in disables competition, and cloud-based business models enable almost perfect lock-in.

    Software quality only matters when users can switch.

    [-]
    • razoorka 3 hours ago
      I’m in the same position deep in Apple’s ecosystem. Switching means losing iMessage, AirDrop, years of purchases. The cost is $2,000+ or even more if combined all devices and dozens of hours.
  • belZaah 3 hours ago
    Quality is not immediately economically useful in a way an average MBA would understand and be able to communicate to shareholders. Also, we have spent many decades wrapping layer after layer of complexity on top of the cpu. That is starting to show, nobody really understands what’s going on any more.
    [-]
    • razoorka 2 hours ago
      Exactly. That's why I wrote this—to confirm we're not crazy for noticing the pattern.
  • PaulHoule 5 hours ago
    Shoulda posted your link as a link instead of hiding it in text where we can’t click on it. If your blog post doesn’t stand on its own without an explanation you should rewrite it.
    [-]
    • razoorka 5 hours ago
      Thank you for your advice, but I’m new here and do not know how the things works here yet. And probably I’m not allowed to post links yet, because of new account
      [-]
      • craftkiller 4 hours ago
        Ah welcome to HN. This particular etiquette is oddly not covered in the guidelines but instead in the FAQ:

        > How do I make a link in a text submission?

        > You can't. This is to prevent people from submitting a link with their comments in a privileged position at the top of the page. If you want to submit a link with comments, just submit the link, then add a regular comment.

        https://news.ycombinator.com/newsfaq.html

      • lapcat 4 hours ago
        "Please don't use HN primarily for promotion. It's ok to post your own stuff part of the time, but the primary use of the site should be for curiosity." https://news.ycombinator.com/newsguidelines.html
        [-]
        • razoorka 3 hours ago
          But it is, and according to what I see in discussion, I’m not lonely at that feeling. And I’m really glad that I started this conversation
          [-]
          • lapcat 3 hours ago
            The first and only activity of your account, created today, is to promote your own blog post.

            You said, "I’m not allowed to post links yet, because of new account". There's a reason for that, and you're trying to bypass that restriction by misusing Ask HN instead.

            [-]
            • razoorka 3 hours ago
              Oh, I see your point, I didn’t think from this angle
              [-]
              • PaulHoule 1 hour ago
                If you turn on the "showdead" flag on your profile you will get a lot of insight into how HN works. Particularly there are a lot of people who post a link to their blog and another link to their blog and yet another link to their blog and these always start out [dead].

                If, on the on the other hand you regularly post links to other people's blogs and participate in discussion you won't have any trouble slipping in a link to your own blog. The key is you're expected to be part of the community.

                [-]
                • razoorka 40 minutes ago
                  Thank you , I appreciate your advice
  • john01dav 4 hours ago
    One possible factor is the proliferation of LLMs to write code for us. I noticed that a few versions after Jetbrains implemented LLM integration, the bugs in their products skyrocketed. Also, in my own job, it's often tempting to use LLMs where I really shouldn't, by which I mean where I can't easily check the code to ensure that it's fully and subtly correct. For example, if I'm working with an unfamiliar library I might ask an LLM what the incantation is to do something, and then check it by reading the docs of each thing that it references. I regularly find issues when doing so, but a different developer who didn't check these docs may miss this and ship a subtle bug.
    [-]
    • razoorka 3 hours ago
      It began way more earlier then llm era, but yes , with llm it became even worse
  • razoorka 5 hours ago
    And not only this, Jetbrains, which consumes tons of RAM, Chrome, and so on. When did we decide that resources are free?
    [-]
    • yeasku 4 hours ago
      My work machine is so full of bloatware that its 64gb of RAM is always full.
      [-]
      • razoorka 3 hours ago
        Exactly. I’m using Mac m3 with 32gb ram and constantly receiving notifications from clean my Mac that ram is full
    • sanchez_c137 4 hours ago
      Did JetBrains and Chrome apps leak too? Or were they just RAM-hungry and didn't leak?
      [-]
      • razoorka 4 hours ago
        No, I don’t think that it’s leaking, it is just “normal” behavior. But why it is became a normal? When optimization stopped be mandatory?
        [-]
        • garretraziel 4 hours ago
          Perhaps computer resources are cheaper than developer time spent on optimizations.
          [-]
          • tatersolid 1 hour ago
            This is definitely not true for the client-side software under discussion. Millions of devices requiring more resources and energy. The problem is that’s an externality to the developer.
          • kasabali 4 hours ago
            Computer resources aren't cheaper, they're externalized (to users, environment, etc.)
          • Rotundo 4 hours ago
            They are not, if you consider all the instances of the bloatware running.

            How many users does Spotify have? Multiply that by the 79GB mentioned above. Is it still cheaper?

            [-]
            • estimator7292 4 hours ago
              Irrelevant because Spotify doesn't pay for, nor do they have to care about user's resources.

              If a user doesn't have enough ram to use Spotify, Spotify doesn't care. That user canceling their service is lost in the normal user churn. Spotify most likely has no idea and doesn't care if resource wastage affects their customers. It isn't an immediate first-order impact on their bottom line so it doesn't matter

          • razoorka 4 hours ago
            But let’s agree, that you will not be able to scale just with resources forever. Basically AI already struggles because of lack of resources
            [-]
            • estimator7292 3 hours ago
              This is antithetical to capitalism's founding principles. Resources (profit potential) will always increase unbounded forever. That's the only way the scam works
          • fnicfnac 4 hours ago
            [dead]
        • estimator7292 4 hours ago
          IDEs I think are a bit of a special case. Under the hood, it's constantly re-compiling and re-analyzing everything. That truly does take up a lot of memory and CPU. Probably not as much as if it were super aggressively optimized, sure, but still very heavy.

          Full featured IDEs like this have always been heavy, as far as I know. It's only the pure-text editors without advanced full code analysis that can get away with low resources.

          [-]
          • razoorka 3 hours ago
            Ok, fair enough with IDE, but for instance I was using web storm ide for years and sometimes struggled with memory issues. But when I switched for cursor, I forgot about this at all
  • somenameforme 3 hours ago
    I think one big issue is that companies got massive. Apple's revenue, for instance, would make them the 40th largest country in the world by GDP - larger than Portugal, Hungary, Greece, and the overwhelming majority of countries in existence. And it seems to be essentially a rule that as companies reach a certain threshold of size, the quality of what they produce begins to trend downward until they're eventually replaced by an upstart who then starts their trek towards reaching the threshold of fail.

    But in modern political and economic times where number must always go up, too big to fail is a thing and anti-trust enforcement isn't (to say nothing of the FTC mostly just ¯\_(ツ)_/¯ with regards to basically any merger/acquisition of big tech), the current batch of companies just keeps growing and growing instead of being naturally replaced. To say nothing of the fact that a lot of startup culture now sees being acquired as the endgame, rather than even dreaming of competing against these monstrosities.

    [-]
    • razoorka 2 hours ago
      Look at Intel—an absolute monopoly for decades, everyone said they'd never fall. But they did. The government bailed them out with billions because they're "too important to fail." Apple is even bigger. When they start truly failing, governments won't let them collapse—too much infrastructure depends on them. But "not allowed to fail" doesn't mean "allowed to thrive." Intel is a zombie now—alive but not really competing. Apple will eventually become the same: massive, declining, propped up by governments, but no longer innovating. You're right—nobody falls anymore. They simply become permanently mediocre monopolies that extract rent while quality continues to degrade.
  • ChrisMarshallNY 4 hours ago
    Oh dear, starting a conversation about software quality on HN.

    Sadly, it won't fare well. You'll get a mix of flags and downvotes, along with "There's no problem! This is Fine!".

    I feel that software has become vastly more complex, which increases what I call "trouble nodes." These are places where a branch, API junction, abstraction, etc., give space for bugs.

    The vast complexity means that software does a lot more, but it also means that it is chock-full of trouble nodes, and that it needs to be tested a lot more rigorously than in the past.

    Another huge problem is dependence on dependencies. Abstracting trouble nodes does not make them go away. It simply puts them into an area that we can't test properly and fix.

    [-]
    • razoorka 4 hours ago
      Ok, I agree with most what you are saying, but most part of those issues can be find with a proper testing. For instance, Steve Jobs Apple era is much more focused on quality and attention to detail. Under Tim Cook, Apple shifted from “it just works” to “ship fast, fix in updates.”

      The difference isn’t complexity it’s priorities. Jobs-era Apple had smaller teams building fewer products with obsessive quality standards. Cook-era Apple has massive teams shipping constantly with “good enough” as the bar.

      You’re right that testing helps. But when quality becomes optional, no amount of testing infrastructure fixes the cultural problem. We test for “does it work?” not “is it excellent?”

      These issues passed all automated tests. They just didn’t pass the “would we be embarrassed to ship this?” test. That test doesn’t exist anymore at scale.

      [-]
  • queenkjuul 3 hours ago
    Old software also sucked.
  • satisfice 3 hours ago
    Well, Agile said that we don’t need testers (because everybody owns quality and slogans are magic). DevOps said we don’t have time for testers (because we reaaaally feel like shipping now). AI people said AI will do all the testing (because of course they did).

    Nobody likes thinking critically and admitting that they haven’t achieved a responsible standard of care. If they aren’t forced to do it, why bother?

  • vdupras 4 hours ago
    I might be going further than most, but my personal take is that it happened when Woz stopped being involved: https://lists.sr.ht/~vdupras/duskos-discuss/%3CZ4p_GHsw5arWG...

    The rest is just a downhill trend.

  • blankx32 4 hours ago
    we keep buying the stuff
  • asjir 4 hours ago
    Not really answering your question, but: One completely imo unnecessary category of sloppy software is electron apps. It's totally ridiculous how little resources are put into alternatives like tauri given how most dekstop apps run on electron, and we know how bad it is.
    [-]
    • razoorka 4 hours ago
      Totally agree, lol. Especially when it forced like solution when it is not necessary at all. Windows UI, for instance
  • mikert89 4 hours ago
    its not, software quality is better than ever, far more sophisticated than the simple programs of the past.
    [-]
    • estimator7292 4 hours ago
      You must not have actually experienced computing in the past.

      In the dark, distant past, we wrote programs that ran in kilobytes of memory on a double-digit-MHz CPU. Multiple cores or threads did not exist.

      Today, the same program requires gigabytes of RAM and takes multiple seconds to do the same work with 32 4GHz CPUs.

      This is truly not an exaggeration. Everyone who actually handled a Windows 95 machine in its natural environment will tell you that the experience of using a computer today is ten times slower and forty times more frustrating. Computers are slower than they ever have been, despite having hardware that is fast beyond the limits of anything we even dared to dream of in the 90s.

      [-]
      • mikert89 3 hours ago
        I'm willing to bet you are just simply not exposed to bleeding edge tech, and thus dont understand the need for it.

        Its definitely overused in certain circumstances, when you could just roll out a monolithic code base on a single server, but in many cases now, systems get built that were impossible to build in the past

      • razoorka 3 hours ago
        Yes, that is exactly how I feel
    • chomp 4 hours ago
      You are claiming sophistication is quality, it is not.
  • hombre_fatal 4 hours ago
    Spotify and Youtube Music on desktop are so bad (esp CPU) that I vigilantly shut them down the second I'm not listening to music which isn't something I've done wrt computer resources since I had a 10" Atom netbook fifteen years ago with 2gb RAM.

    I'm sure they're no better on my iPhone but I don't even have the appropriate tools to gauge it. Except that sometimes when I use them, another app I'm using closes and I lose my state.

    There's no pressure to care. Most users can't tell that it's your app that's the lemon. The only reason I know anything about my Macbook is because I paid for iStatMenus to show me the CPU/RAM usage in the global menubar that can quickly show me the top 5 usage apps.

    This basic info should be built in to every computer and phone.

    [-]
    • _DeadFred_ 2 hours ago
      I love the subscription model for music because I have wild tastes that swing so much but I'm about done with it just because the players are too frustrating/horrible to use.