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!
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.
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.
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.
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 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. :)
About a decade ago, I helped write this: http://www.powermedia.com/pilot/index.shtml
It seemed brilliant at the time and we were recreating something that had already been successful (http://www.catamount.com/NewtonApps/Aloha2.html).
There were lots of Palm users AND lots of AOL users, how could we fail?
It turns out that there were very, very few Palm MODEM users. And without the modem, it wasn't going to work at all.
Ended up with a massive round love-bite on my forehead that I had to sport to school for two weeks before it faded.
Her: What did you do?
Me: I stuck a suction cup to my forehead.
Her: Why?
Me: ...
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.
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 :)
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".
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.
Lesson learned: make backup scheduler top priority on your to-do list. And check it often.
My lesson: one can't be overprepared for an accident. Also: having huge crowds of people come to your aid is awesome.
1) Late night 2) A (production) Windows system (don't ask!); and 3) C:\WINNT\SYSTEM32>del *.dll
The rest is ... as they say ... history.
Don't have great failure story relating to startups - wishing I did.