Twice I have built entire full-featured applications and then not shipped them out of embarrassment(fear of failing I guess?). Both times, a few years later similar applications became very popular. Very recently one of them showed upon the front page of HN to high praise.
It's a mistake I'm still making, I guess, which is to assume that it could never "be me". It can be anyone. Just ship the damn thing.
Overcoming this 'mistake' is very hard. I have faced it many times. As long as I am an engineer on something it is never good-enough for me.
I am now trying a different approach that seems to work - the essence is that after some time to give up ownership of the code. I am involved in day-to-day dev decisions, but play more of the role of the Product-Manager - talk to potential customers for pilots, and define tight scopes so that the pilots and subsequent launches are successful.
Don’t feel too bad. My grandfather had the opportunity to buy some land in Atlanta in the late 60’s/early 70’s and turned it down because it was shanty town and the guy offering him the opportunity was a known crook. Shortly after that it became CNN Center.
When thinking about this, I always come back to the scene in "The Office" with Michael's Golden Ticket idea.
Long story short; Michael loses the company a bunch of money on a foolish marketing scheme, and gets Dwight to take the fall. David Wallace drives down to presumptively fire Dwight. Instead, when Wallace shows up, he gushes that Dwight is a genius because it appears that although the marketing campaign has cost an immense amount of money, somehow it worked out and Dunder Mifflin is, in the end, far in the black.
The moral of the story is judge decisions in the future by the information the person had at the time of making the decision. A stupid choice that happens to work out is still a stupid choice.
Kind of reminds me of lots of 50:50 stupid remarks in recent year, that 50% pan out for the wrong reasons. Hindsight bias could make a cult out of that.
The only part I feel bad about is not really "learning" from these mistakes. I don't worry too hard about things I cannot change, so those two opportunities came and went. The part that bothers me is the fact that I haven't been swinging harder at ideas that I've thought about pursuing. There's _some amount of evidence_ that the ideas I'm having in this particularly industry are valuable and others would want.
After a long day at (usually at least mildly frustrating) work, it's just hard to work up the energy to just keep coding.
If you really want to learn from the mistake, it sounds like you need to ask for a personal leave for a few months and really take a bet on one of your ideas. There's not much to lose, in the worst case you learn from how it went and can decide whether you may want to raise the stakes and quit.
I feel the same about bitcoin sometimes. I heard about it on /. when it first came out. If I'd gotten into mining in the early days I'd be rich by now. Assuming, of course, that I still had my wallet and everything.
My dad has a similar story about being stationed at Moffett in the late 70s and turning down the chance to buy property in Mountain View because he was a bit short on cash at the time.
Ha, I've had this experience recently. I was working on a private pototype of automated dependency updates in GitHub repos before it was a thing that was widely available. Ended up abandoning it. Of course, a few years later....
It's a mistake I'm still making, I guess, which is to assume that it could never "be me". It can be anyone. Just ship the damn thing.