3 ms·
> When someone smugly says "micro-optimisations don't matter, networks are great, CPUs fast and memory plentiful", proceeds to make an app one degree more compl
by znpy 1y ago
> When someone smugly says "micro-optimisations don't matter, networks are great, CPUs fast and memory plentiful", proceeds to make an app one degree more complicated than Hello World use 4 GB of RAM and drain half my battery, I'm having dark thoughts.
I don't think that's really what's happening. What i think is happening is much worse, sadly.
"developers" saying stuff like "micro-optimisations don't matter" implying there has been an understanding on what optimisation means and then a negative evaluation. which might be a defendable position.
what I observe instead is the "businessification" of the craft of software engineering and computer programming in general.
Whereas 15-20 years ago it was "cool" to ship fast software, nowadays what's "cool" is focusing on "delivering business value" which basically boils down on pushing out features, completing user stories, adopting the new hot thing (AI anyone?), taking part to the next sprint plan and then do it all over again.
As a system engineer (I don't write software for a living, i manage infrastructure) what I see in many (most?) of my colleagues is essentially getting "good enough" on the technical side (meaning, i know enough of the language/framework/runtime we use at work to shi^H^H^H deliver new features upon request) and then one gets promoted on the basis of the thing they deliver. Don't even get me started on developers being limited by their runtime: If it's not in $language it doesn't exist.
Making software fast and lean largely plays no role in somebody getting promoted. Most software engineers usually can't estimate how much memory their software will require, not even ballpark estimate.
This means that the industry is essentially "self-optimizing" for shitty software engineers.
These observation come from almost 9 years in the industry and more than one time me having to pull out a profiler in order to point developers to the part of their software is not working appropriately... Only for them to discover the concept of "software profiler".
(btw, I think there's a huge risk AI is going to make this worse)