Sunday rant. For software engineering, my sense is that the phrase “premature optimization is the root of all evil” has massively backfired. Its from a book on data structures and mainly tried to dissuade people from prematurely write things in assembler. But the point was to free you up to think harder about the data structures to use, not leave things comically inefficient. This context is always skipped when it’s uttered. Not all fast software is world-class, but all world-class software is fast. Performance is _the_ killer feature. If you are in engineering, here is a fantastic anecdote. I refer to this account often. It’s a bit subtile, but the implications are massive- It’s an account of how SQLite became 50% faster, not by doing one specific thing but hundreds of small ones. SQLite is everywhere today because of this work. https://t.co/krLFFps2up We need the engineers in all companies fight for this more. Product leads are not the right owners of the end performance of the software. This needs to be encoded in the professional pride of the software engineering discipline. Leaders in companies need to encourage it and hold engineering accountable. It’s simply not ok to fritter away the performance of the products for random reasons. Every user of your products cares exactly as much about latency as engineers do when typing in their terminal. They just don’t have the words to describe what they don’t like about the experience and neither should they.
That's where the challenge of building quality products starts to creep in. The constant tension of shipping faster versus shipping better. Falling into a cycle of "Ship, then iterate" is a trap. It ends up being more shiterate . Things happen and that "fast-follow" V1.1 release or V2.0 you had imagined probably won't. There's alwa
... See morePaul Stamatiou • Craft
