3 ms·
I feel like the term 'engineering' implies bending the rules of reality to your goal in a way that is both economical and is very good at reaching the stated go
by torginus 10mo ago
I feel like the term 'engineering' implies bending the rules of reality to your goal in a way that is both economical and is very good at reaching the stated goal.
Like for example if you're an automotive engineer, you can't go ahead and put in the thickest beams made out of the strongest steel on hand, because the resulting car would weigh 20 tons and cost $300k. To add to that, it would probably drive like crap, and wouldn't even protect the driver that well.
In engineering, even a 10% waste is frowned upon. Here I outlined a waste of 10x. I don't think a Reddit comment opening/closing taking 200ms is a 10x waste, but a couple orders of magnitude more.
Why is that, that despite tons of very highly paid (moreso than any other kind) software 'engineers' work on websites like Reddit (which is not the only example of this trend), the result ends up like this?
It's not the lack of resources, constraints, pace of development (I don't remember the reddit site changing all that much in the past decade).
I think if software engineers have the mindset of other engineers, this thing would be considered ridiculous and unimaginable, like the 20 ton car is for automotive engineers.
- dijit 10mo ago> I feel like the term 'engineering' implies bending the rules of reality I'd phrase it differently: Civil engineering is fundamentally about understanding trade-offs within hard constraints. You have materials of known strength, known wear, and known properties (compression vs shear). It's boring by default because the physics don't budge. A lot of software engineering, web and SaaS development in particular, hasn't had to confront comparable resource limitations. For decades we've had (for practical purposes) an infinitely fast calculator, practically infinite supply of active working data and and infinite amount of them to chain together. So, without constraints people have just run wild. But here's where it gets interesting from my perspective: when you point out the resulting bloat (200ms to open a Reddit comment), many developers will defend it not as a technical failure but as correct business prioritisation. "User hardware is cheap, developer time is expensive" or "users will upgrade their devices anyway"—essentially externalising the performance cost onto users rather than absorbing it as an engineering constraint. That's the fundamental difference. An automotive engineer can't build a 20-tonne car and tell customers to buy stronger roads. But we absolutely can ship bloated software and tell users to buy faster computers, more bandwidth, better phones. And for a long time, we've got away with it. The question is whether that's still sustainable, or whether we're approaching the limits of what users will tolerate.
- torginus 10mo agoI think the main issue is lack of competition. If company A makes a 10% worse car that costs 10% more than company B, they very quickly go out of business. There is no 'Reddit 2' substitute product (or indeed for lots of software), and network effects tend to dominate, so your benchmark is 'is it bad enough so people would rather use nothing than your product', which is a very low bar to clear.
- dijit 10mo agoSpot on. And it's worse than that: you're not choosing between a 10% slower product and a faster alternative, you're choosing between a slow product and losing access to everyone still using it. That's not a market choice, it's a hostage situation. We can see this works in reverse: developer tools, CLIs, and local apps where network effects don't apply (ripgrep over grep, esbuild over webpack) performance actually matters and gets rewarded. Developers switch because they can switch without losing anything. But Instagram users can't switch to a lighter alternative without abandoning their social graph. This is why the "developer time is expensive, user hardware is cheap" argument only works in the absence of competition. In genuinely competitive markets, efficient code becomes a competitive advantage worth investing in. The fact that it's "not worth optimising" is itself evidence of market power, not sound economics. Your automotive analogy actually understates it: imagine if switching to a better car meant your old car's passengers couldn't ride with you anymore, and that's closer to what we're dealing with.
- kiba 10mo agoNetwork effect is basically the same thing as urban agglomeration in real life. The value of a city is from all the people aggregating together to provide goods and services and people are worrying about the housing crisis. So what is the correct solution to all of this? I would be tempted to reach for a land value tax except this doesn't really apply to cyberspace. The only "land" is built by the platform themselves, but at the same time the platform isn't solely responsible for all the value generated on the platform. So, maybe we should tax network effects.
- wat10000 10mo ago
- skybrian 10mo agoAt the big tech firms, there are engineers looking for software fixes that make tiny efficiency improvements that can save lots of money at scale. Meanwhile, Google and Apple look for whatever ways they can to improve battery life on their phones. But for many other developers, this isn’t going to save money or increase sales, so the incentives are more indirect.
- cpgxiii 10mo ago> At the big tech firms, there are engineers looking for software fixes that make tiny efficiency improvements that can save lots of money at scale. Meanwhile, Google and Apple look for whatever ways they can to improve battery life on their phones. While this is true for parts of these companies, I think the user experience with their products makes it clear that the performance focus only goes in a very select few areas. Perhaps my favorite Google example is the absolute dogshit performance of Google Home devices. By any objective metric, these are fairly capable computers (quad-core arm64 processors) running a tiny number of apps and yet their UI is still incredibly sluggish. Better yet, these are basically the only real-world devices that run Fuchsia - they should be shining examples of the performance of a brand new OS and yet they are anything but.
- skybrian 10mo agoYeah, it's a big company and dedication to performance is uneven.