"If you're not embarrassed by the first version of your product, you’ve launched too late" -- Reid Hoffman
I like Reid Hoffman, not because he founded LinkedIn but because of his entrepreneurial mindset (and also his creative podcast Master of Scale).
I found myself fighting the urge to take the "right" route everyday building something. The temptation to take the extra miles just because I can is substantial. There are just too many things out there. Should I learn AI, deep learning, block chain, functional programming, or VR/AR? Should I build something that makes use of them?
We are drowning in the equivalent of the technological postmodernism, where the only principle is to not have one in the pursue of sexiness, hypablibilty, and the "right" way of the cooler kids.
And that's so wrong because it does not differentiate us. If you can't do anything different, the chance of success is small. Also, doing things the right way will often disorient you, slow you down, and veer you off course because you don't have a principle in the first place.
So the best way to overcome the urge to do everything right is to keep focusing on the value proposition for the users and how to delight them and focus less on the journey. Last time, I did not get a middleware right and idiomatic, but hey I only needed one and so I wrote my own. My test run on EC2 was less than secure and I am still learning how to set up security groups, but heck it was a "test" run. I did not go for one of those containers to deploy, but why should I when I have very little to no customers to even worry about distribution and scaling. I do not have a single test in place yet, but the code is still constantly changing and unmaintainable at best (what if I had to rewrite everything?). Chances are my better self will be able to improve on them or better yet someone else who are much better and smarter will.
Despite what everyone tells you, to be able to build something meaningful, sometime you need to stop thinking like an engineer and more like a hacker. The magic question I ask myself whenever I am tempted to take the longer path is "Who am I building this for?"