Working on DoneDone has been a labor of love. And when you love to do something, you learn to accept the good with the bad. You are as closely locked into your work when you achieve your greatest goals as you are when you make your biggest mistakes.
With this obsession comes the worst part of working on the product. I imagine lots of bootstrapped software creators — particularly those who continue to work on the technical parts of it — have felt the same way. For me, the worst part of working on DoneDone is the ever present fear that the application could go down at any moment. A DDoS attack. A crippling performance bottleneck. A security flaw. Permanent. Data. Loss. Some random set of circumstances that would cause permanent damage to the system and the collective uproar of a thousand customers around the globe.
I know that we talk a lot about concepts in technology to help reduce these potential hazards to a near-zero probability. Redundancy, backups, integration tests, performance tuning, and the like. But, none of these ideas can completely eliminate the one prevailing truth about all things software.
If you’ve bulletproofed your application in a million ways, that million-and-first thing will eventually find you.
With a SaaS product, it can happen quite literally at anytime. While I’m asleep at 3am, shit can happen. During Christmas dinner, shit can happen. That five minute time period when I’m installing iOS 10.x on my phone, shit can happen.
The best way to put this fear to use is to do something about it. As Dr. Phil once said (and this may be the only time I’d ever reference Dr. Phil), “answer the what if’s.” I know that we’ve done a lot to secure DoneDone. I know that we’ve improved our infrastructure and code in myriad ways. But, I know well enough that we still might not have all the pieces covered.
After awhile, you just get comfortable with the fear — it becomes a natural part of you. You accept it. It’s a sign that you care.
Welcome to product ownership.