Optimization is a waste until it becomes a necessity.
I used to waste lots of time on this. We all did as a developer or a product manager.
“Premature optimization is the root of all evil”. Donald Knuth 1960!
And of course this doesn’t cancel the necessity of writing clean code as a start because that is not optimization 🤓
Here is a short list of common things we waste time on instead of getting the product right:
-
Studying all possibilities for my file storage technology and setting it up day one.
-
Choosing the fastest database and implementing it day one.
-
Wire a bidirectional websocket tech before it is needed.
-
Deploying separate microservices and searching for high availability and vertical scalability when having only few users.
-
Crafting a complex ui with a complex architecture using a complex technology before it is needed.
-
Writing full coverage e2e tests from the very beginning.
-
Go multi-cloud and host in different places in the world
-
Focus on edge cases and implement all error scenarios
-
Implement all rules and all usecases of a certain feature thinking it is not enough to seduce users.
-
Writing beautiful gherkin scenarios and spending time mapping sentences while any non-tech team member is involved in maintaining them or even look at them.