Three days into one of my businesses, in the middle of the marketing push while we were signing on lots of (paying) users, my business partner inadvertently deleted all the user passwords while messing around in the SQL console. We had no backup (we'd just launched 3 days earlier and automated backups were still on my todo list). I was in the office at my old job still. On the phone, I talked him through how to reset all the passwords again (to something different per user) and how to send a mail to all existing user with the new password. Brilliant spin: we presented it as a security upgrade. Along the way, I got him to do a database dump just in case we screwed something up while trying to fix things.
Two days later, I came back home from work and started working on the startup. By a stroke of luck, I took a db dump just before I started. A few hours later, I deployed some of my changes. Then, a little bit later, I noticed something strange: the total number of users had gone down over the last few hours. How bizarre.
Turns out my business partner had done the db dump in the one folder that got auto-executed every time I did an SQL deployment. So I'd just overwritten the db with a 2 day old version. I took a dump of the db again, restored the backup from 2 hours earlier, then manually added all the missing users back in.
No one noticed a thing - or said anything about it, anyway.
Morale: even the most stupid, huge screw-ups can be successfully covered up if you keep a cool head!
I always say, the difference between a master and an apprentice is not that the master doesn't make any mistakes, but that he recovers from them more effectively.
My wife and I owned a small software company, 12 employees. It all fell apart when we hired the wrong sales person. He came to us after reading about our company in the paper (We'd just won a World Summit Award). His references checked out, so we took him on on commission only.
4 months later he'd generated almost $4 million in sales. We dropped everything else and threw our whole company behind the new sales. Then he was arrested while crossing the border. Apparently he was indicted in Massachusetts for fraud, for falsifying millions of dollars of sales.
Turns out there were no sales. The people we spoke to on the phone were actors he'd hired. The pages and pages of functional specs from the customer were all made up. And he'd been to jail twice before for doing the same thing.
Moral of the story: Sales people suck. Always check criminal records as well as references.
For every schmuck like the guy you hired there are 1000 decent salespeople. You ended up with a lemon, but don't let that distort your take on sales in general. As with workers in all trades, plenty suck, but plenty more are honest people.
If there were no sales, how was he getting paid? I'm assuming there is also a risk management/compensation moral to this story as well. You paid someone a commission before a customer had written a check. If the customer later changes their mind (or in your case, does not exist), you would have to get the money back. Even if they had been legit customers but later changed their mind, getting money back is never a good thing to do. I presume you don't compensate like that anymore.
We never actually paid him a cent. We covered some of his expenses. Where it hurt us was in moral, and in internal resources poured into a dead end pit. At least he's facing 40 years in jail, and 5 years on, we've managed just fine.
I wrote a code generation system that put together nice tight little apps, with UI, database interface, batch processing, and a report generator. It came in really handy for the simple apps everyone seems to need every once in a while.
My partner and I sold a few simple apps and then he found an opportunity in a large company for a much more sophisticated app. He quoted based upon the already demonstrated performance of me and my "little tool".
Unfortunately, every single out of the ordinary thing we ran into was not "generatable" by the tool. So I had a choice, hand code or upgrade the tool to generate it.
My choice was my "best failure story". I chose to add funtionality to the tool to generate code needed for an open project already well behind schedule. I didn't stand a chance. Even hard coding everything probably would not have saved the gig.
Lessons learned:
- Code generators must have hooks for custom code.
- Don't commit to using a code generator until after you have the customer's requirements and know that the generator can already handle them.
- Don't build your tools on the job site unless you're really good and know that you can finish on time.
- Don't let a few early and easy successes let you get a big head. It's never as good as it seems. (It's also rarely as bad as it seems.)
- Have complete, open, and honest communication with your partner(s). You don't have to know every single thing each is doing, but you better be on the same wavelength.
- Put everything dealing with external parties (customers) in writing. Commit to nothing until everyone agrees.
- If there's only 2 of you, you both better be hackers. There's just too much technical work for one to be overwhelmed and the other to be "waiting".
Sigh ... to be as brief as possible: I come from a Linux background where programs like mysqldump make it stupid easy to move a database from one place to another. Would that it were so easy with MS SQL Server 2000. I asked an MS-savvy colleague how to take a backup of the finance database in the company I was working at, so I could test some new tools on the backup copy.
He talked me through the whole thing, I just pressed the buttons. Then he got to the fateful words: "now you just press F6 and away we go." In the blizzard of words which whirled across the screen, I could just make out the line "Dropped database 'Finance'" I asked my colleague about this, and we both got that nasty, ice-cold ass-puckering feeling you get when you just f*cked up really badly. We went and bought cakes for the Finance Dept while the DB was restored from backup tape, although half a day's work was lost.
Technically not my fault, but I did press the button and I hate dropping other people in it, so I fell on my sword, so to speak, and took the blame.
I left the PhD program after finishing my MSc and passing my qualification exam without trying my candidacy exam due to financial pressures. I could have easily scraped together enough with part-time jobs to solve the immediate pressing problems I had. While I certainly failed to finish my PhD, I would still be there today if I hadn't decided to leave when I did.
Other than the really obvious poor choices, it's hard for me to look back and say - oh yes, obviously that was a mistake and a failure! After all, if it was a choice - how can I predict what may have happened if I made the other decision? If there wasn't a choice, then it's not really a failure.
Started a company with a guy with a freaky talent for manipulation. Went to China with said partner for four months. Discovered the freaky talent. Lost almost all hair. Eliminated partner. Allowed remaining two "older, more experienced" partners back home make decisions while I continued to "execute" in China. Progressively lost all sense of control, along with remaining hair. Massively burnt out over the subsequent five months.
The upshot: spent six glorious months recovering -- living, working, and traveling independently in south east asia, learning python while rediscovering why it's worth waking up in the morning.
Best technical one... misuse of chmod, which caused the ISP I was working at to be down for a few hours.
Best non-technical one... in the 2nd grade, asking a girl if she wanted to come over for dinner and her rejection being akin to "Hah! Hey everybody... he just asked me to dinner!" That screwed me up for years... fortunately, I've recovered. :)
Same story. I'll never forget the look on my 8th grade English teacher's face when she saw the shiny, perfect circle in the center of my pasty-white dome.
Helped a guy who was an acquaintance, who I thought was a friend move into my apt while in grad school with my other roommates, vouched for him, paid his part of the security deposit too. He turns to be of the kind who talks behind the back, borrows without repaying, a general douche.
Long story short, months later, said guy moves out. Lost my money, lost my other roommates, and lost my reputation as a guy who can vouch for others. Lesson learned: takes years to know a person.
Years ago I grew a client site from 0 to 30k active users. The client complained about everything that comes with success.... Users calling/emailing, needing more equipment, problems with billing/fraud.
What happened? Emails went unanswered, site got slow, users ran off, spammers took over.
While I don't think that I personally failed these sites, there were a lot of very deep problems which I feel I should have raised much earlier in the process.
I came very close to quitting over how those sites were managed. My manager (who was a great asset to the company by any estimation) left to go work at Google. Another talented engineer I knew came close to leaving the company.
In the end, Yahoo gave me a huge raise to keep me here, so that's why I consider it my "best" failure story, since it had a happy ending for me :)
look up "faulty capacitors" in google. multiply by 8000. But we got through it. We repaired or replaced each one as my life rode along the bell curve of faulty capacitor failures. Honestly, I don't know how we did it. But we survived.
Failure is far more honest than success. Failure stories are a chance to pass down wisdom, to warn others of your plight, and to prevent them from taking the same steps into darkness.
Failure is also necessary. Starting a company at a young age is amateurish to some degree.. you can make up for a lot with energy and determination. And if your lucky, ever so lucky, you won't make the one failure that puts you out of business.
The failures that don't put you out of business are your only chance at true reflection. You've been slapped in the face, and hopefully it's obvious why. The more issues you encounter early on, the stronger you + your company will be. So savor every failure. It makes you unique, and over time indestructible.
"Now you know. Life is crummy, well now you know.
O.K. Big surprise
People love you and tell you lies
Bricks can fall out of a clear blue sky
Put your dimple down, now you know!"
-Stephen Sondheim, Merrily We Roll Along
I was fortunate that no one mistake took down my company. But they sure came close.
The lovely PhpMyAdmin and the convenient Drop button for a database. While multitasking I hit the Drop button on a Production Database because I had two tabs open comparing some configuration parameters between my local install versus the production. Lost few days of data since the automated backup was not quite automated yet.
Lesson learned: make backup scheduler top priority on your to-do list. And check it often.
I once deleted the document root on the production website by mistake, multiple terminals, had the wrong terminal, thought I was in a subdirectory of my home dir and typed 'rm *' to blow away some debugging logs, and then wondered why it was taking so long... I had backups and brought it back in fifteen minutes. Ever since I've been much more cautious.
Yesterday I was riding my kick scooter home and the front wheel caught on a crack and I fell and got one stitch in my left knee and some minor cuts and bruises on the face and hand.
My lesson: one can't be overprepared for an accident. Also: having huge crowds of people come to your aid is awesome.
Realizing I like the question - because the better the failure story, the closer to success you might have been. Failure is a desirable state when compared to stagnant, anonymity.
Don't have great failure story relating to startups - wishing I did.
Two days later, I came back home from work and started working on the startup. By a stroke of luck, I took a db dump just before I started. A few hours later, I deployed some of my changes. Then, a little bit later, I noticed something strange: the total number of users had gone down over the last few hours. How bizarre.
Turns out my business partner had done the db dump in the one folder that got auto-executed every time I did an SQL deployment. So I'd just overwritten the db with a 2 day old version. I took a dump of the db again, restored the backup from 2 hours earlier, then manually added all the missing users back in.
No one noticed a thing - or said anything about it, anyway.
Morale: even the most stupid, huge screw-ups can be successfully covered up if you keep a cool head!