Ship It
codypowell.comI know exactly what the author means. At a couple different points in my life I've had jobs that were great for me at the time in every respect--good money, nice people, lots of flexibility, good technology choices, etc.--except that the product just didn't ship! And didn't ship. And didn't ship... And it completely ruins the experience, no matter how good the other factors are. There is nothing more soul sapping for a builder than the creeping concern that the fruit of his/her passionate efforts may not see the light of day and be used by real people. It's actually much, much worse than the concern that those real people will hate it, or won't care.
There are always excuses and extenuating circumstances and heartfelt resolutions are made to change, but it seems that once a project has become large and complex and still hasn't shipped (or at least garnered outside interest and stakeholders), there's very little chance that it can turn around. The leading causes of perpetual shipping delay seem to be featureitis, perfectionism, and vanity, which usually come together, as a trio, and manifest into what is essentially the fear to release something small and targeted due to insecurity that it won't be well received and will shatter the grand vision. They are reality-avoidance strategies. And these problems become more and more dangerous as the project grows in size and scope, because there is more and more surface area for the featureitis to latch onto, and each new feature requires unanticipated time to make 'perfect', and exposes new unfulfilled use cases that lead to more features and so on, and no one's ever satisfied with the whole picture. It's horribly Sisyphean and demoralizing to toss one's creative energy into such a maelstrom.
This is sort of happening to my side project at the moment. I am also losing inspiration for development, too. It's in a deadlock where I'm waiting for inspiration, which won't come until I resolve my fear of failure; on the other hand I am trying to resolve my fear by waiting for inspiration, which won't come until I resolve my fear of failure; on the other hand I am trying to resolve my fear by waiting for inspiration, which won't come until I resolve my fear of failure; on the other hand I am trying to resolve my fear by waiting for inspiration, which won't come until I resolve my fear of failure; on the other hand I am trying to resolve my fear by waiting for inspiration, which won't come until... shooting sparks and explosions
It's ok to fail.
In fact in improv, failure is an important introductory lesson. Without reducing fear of failure by actually failing, improvising would be impossible except for the bravest of souls.
One basic lesson goes like this: make up a pun about what the bartender said about 1,001 light bulbs when they went into the bar. In general, the results are terrible, but the class is told to erupt in applause and support for the improviser for having attempted a pun.
Good luck with the project!
I used to focus on be software and not on shipping it. Water a lot of time trying to get things to be perfect. But I wasted too much time that way. Worse yet, a lot of my design decisions were wrong. So I had to go back and redo stuff that could have been taken care of had I shipped earlier. Nowadays, I focus on shipping and iterating. It's better to fix it along the way than to stay paralyzed and never get anything done.
Agreed. It seems like the one of the biggest problems perfecting a product prior to shipping is - is the mindset. Placing the ship date ahead of time forces one to focus on the priorities instead of every tiny detail.
"Release early, release often" http://en.wikipedia.org/wiki/Release_early,_release_often
That's what my old boss always said, he sold his company for a few millions :-)
Ship it with a Minimum Viable Product http://en.wikipedia.org/wiki/Minimum_viable_product
There are many different degrees of how shipped software is. What I want to build is software that matters.
Ship it...
But please use basic security.
Bcrypt, etc.