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:

  1. Studying all possibilities for my file storage technology and setting it up day one.

  2. Choosing the fastest database and implementing it day one.

  3. Wire a bidirectional websocket tech before it is needed.

  4. Deploying separate microservices and searching for high availability and vertical scalability when having only few users.

  5. Crafting a complex ui with a complex architecture using a complex technology before it is needed.

  6. Writing full coverage e2e tests from the very beginning.

  7. Go multi-cloud and host in different places in the world

  8. Focus on edge cases and implement all error scenarios

  9. Implement all rules and all usecases of a certain feature thinking it is not enough to seduce users.

  10. 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.