3 ms·
Most people and companies write software to make money. If you are trying to optimize for this goal, does it really matter if your software is as effective as
by leoff 3y ago
Most people and companies write software to make money.
If you are trying to optimize for this goal, does it really matter if your software is as effective as it's physically possible?
There's a certain threshold for performance your customers implicitly expect you to reach. If you're within this boundary, is it really worth to spend days coming up with a new inverse square root optimization instead of bringing more value to your customer with new features?
- happytoexplain 3y agoIt's a balance. But I would say it's important to not view performance as binary (acceptable or not acceptable), and also to not view features as inherently positive.
- vinnymac 3y agoCouldn't agree with you more. I spent the last 6 months leading a web performance optimization effort of one very popular site. The dichotomy between upper management and ICs in the weeds doing the actual work is mind boggling at times. ICs would understand the spectrum, and desire to create baseline targets across the service for the best experience we could muster. Meanwhile management only cared whether the core funnel met a specific target and viewed all other efforts as a distractions of the bottom line. This narrow minded thinking directly results in a subpar experience for customers. It's a shame too, because product quality is critical at this organization.
- vorticalbox 3y ago100% I used to be rather obsessed (can't think of a better term) and making my code performant but as I've gotten on in years in my career I've moved more towards "just ship it and don't break anything"
- benrutter 3y agoI 100% get this point of view, I don't really care about performance more than I need to to ensure stuff doesn't grind to a crawl but. . . I can't help but feel something has gone wrong in software where things are, by default, very slow. I've spent time optimizing code in the past (mostly python) and its not hard to speed things up a lot. It feels at times though that the ecosystem is working against you. Tools like electron encourage you to ship many many times more download size than is needed. Python loops speeds are getting better, but they've historically been insanely slow. I don't think we need to individually obsess over speed, but as an industry we need to give people the tools so that code is performing by default. I think we're moving away from that end.
- wredcoll 3y agoIf you think electron's 500 megs is bad, wait until people start shipping LLMs that clock in at dozens of gigs.
- fomine3 3y agoI don't blame how LLMs big, because it's needed for now. We theoretically don't need individual Electron runtime for each application. There should have a common webview runtime, like Microsoft WebView2.
- norir 3y agoAs one develops as a programmer, the performance floor of your code should increase. In those early years, you might waste inordinate time squeezing out a 3% performance improvement in an existing feature when you could instead focus on building the next thing that might potentially double the product market. As long as you eventually see the light, I don't think this time is wasted because in chasing those small efficiencies you will learn the high level patterns that lead to good enough code as well as the evil of premature optimizations. Also, you will never get a bonus in proportion to the cost savings of an optimization.
- ajmurmann 3y ago> I don't think this time is wasted because in chasing those small efficiencies you will learn the high level patterns that lead to good enough code as well as the evil of premature optimizations. How many times in your career has a PM agreed to make room in the backlog to prioritize performance work? It very rarely happens and the reason is that costumers rarely care. It's catnip for developers and I love doing it, but it's rarely something that matters enough
- halfcat 3y agoHow much of it comes down to whether it’s built to use, or built to sell? Millennia ago someone built the pyramids. Centuries ago someone built castles. Those weren’t built to sell. Today when homes are built they often use cheaper materials. The builder just needs to get them sold. Most software strikes me as closer to building a cheap house or strip mall, as opposed to something that needs to last for centuries.
- ajmurmann 3y agoIt's much easier to switch chat clients than houses. If people hated their chat clients that much, we'd have"better" ones
- happytoexplain 3y agoYou picked an example of software that is famously not easy to switch. Regardless, "if people didn't like them, there would be a better one" is a confusing stance, unless it wasn't intended literally. There are of course a ton of variables that go into what software gets built, maintained, and distributed. "Is it better than the others" is not even a particularly prominent one, frankly.
- esafak 3y agoYou must be talking about personal chat clients. Surely you don't think changing enterprise chat clients, which don't use standardized protocols, is easier than changing a house? The average employee has no say in the matter.