Hacker News new | ask | show | jobs
by array_key_first 182 days ago
The main problem with the "a little lag is fine" mentality is that, in most organizations, it's becomes cancerous. It spread and infiltrates every team, every corner.

When you have hundreds of teams and they're all doing suboptimal things for shits and giggles, that extra 500 milliseconds is now a minute.

And, the real kicker is that usually the slow stuff isn't even simpler or better. It's just naive and poorly thought out. Usually it's super simple stuff like use a hash map instead of iterating through an array a bajillion times over. Or, do this network request asynchronously instead of just blocking for no reason. Or, in the case of some suspicious Microsoft GitHub code, just use sleep() instead of spin locking.

These things aren't harder, they're just different. So it's not even laziness really, it's something else. Apathy, maybe?

2 comments

> So it's not even laziness really, it's something else. Apathy, maybe?

My hypothesis is that it comes from a bygone of tech.

Consider the lyrics from Weird Al's "It's all about the pentiums" (1999)

    My new computer's got the clocks, it rocks
    But it was obsolete before I opened the box
    You say you've had your desktop for over a week?
    Throw that junk away, man, it's an antique!

    Your laptop is a month old? Well, that's great
    If you could use a nice, heavy paperweight
From around the 80s all the way up until ~2010, one of the most reliable ways to make software run faster was to wait a year. You could get 50 or even 100% faster CPUs in a matter of a year or two.

Tech CEOs weren't blind to this fact. I have a lot of old software dev coworkers that lamented that era because they never had to think about performance problems. It was always "this won't be an issue if we wait a year".

I think that era has mostly built in an industry wide sloppiness and attitude.

Also for a platform vendor, it also infects everyone who develops for their platform.

Writing iOS apps, I've been in meetings where the discussion has basically made Apple's equivalent a benchmark. You can't make your feature slower/worse/buggier than theirs, but making it faster/better is optional.