Make More Mistakes
prostoalex writes "Eric Sink from SourceGear, well-known in the open-source world for AbiWord Suite, shares his thoughts on starting and running a software business. One of the keys to a successful business, as Thomas J. Watson once said, was to double the rate of failures. Eric Sink tells the story of what mistakes he personally made, what could be avoided, and what's important for geeks to know when starting a software company."
I worry about the potential of any new software company nowadays. Personally I know 2 people who attempted to start their own business. One started a software consulting company, the other a restaurant.
The software consulting company charges thousands of dollars for any gig and the business comes WAY too slow. I am talking once a month on the best case scenario. The other person started a restaurant and makes couple thousand daily. Just on take outs alone, $30 + $30 + $50... you get the idea, it adds up fast in volume. People can't get away with not eating. They can get away with no software upgrading.
Basically if I had the money, I would start a gym, a club, a bar, a restaurant, a stripe club... anything but a software company in today's market. It's a shame to see globalization and everything IT related go so downhill.
One of the things that amazed me about my experiences in running various different types of companies is how common-sense can often take a back-seat to "groupthink", doing what others tell you you should, without necessarily considering whether you think it is a good idea.
Investors can be particularly dangerous. The problem is that many investors like to see themselves as having a mentor or sage-like relationship with entrapeneurs. Since they are the "money", entrapeneurs are often quick to indulge this fantasy and the end-result is that people whose company-running experience might be solely based on what they learned on the golf course from other similarly well-informed investors, find themselves a willing audience among those who might actually know what they are talking about.
Investors aren't the only problem. There is a thriving ecosystem of people within large companies whose primary talent is climbing the corporate ladder, but whose actual contribution to profitability is highly questionable. During the tech boom many such people decided that they would try their hand at running small tech companies, often they would be brought in by investors to replace the entrapeneur-CEO, in the hope that they would be more "seasoned" (whatever that means).
The results are generally disasterous. This happened in one of my former companies, and the guy was an idiot. He spent $100,000 (of $3MM funding) on a launch party just weeks after 9/11/2001, $50,000 on an "image consultant" buddy of his, and christ knows what else. It rapidly became apparent that he was incapable of doing the job he was supposed to do, but fell back on the tried and tested (big company) strategy of paying other people to do your job for you. With limited funding it didn't take long for us to run out of money.
Anyway, I could go on, but the bottom line is:
don't accept any advice on how to run your company unless it makes sense to you, irrespective of what anyone says.
About half of this seems to be telling us that he should have used pre-built Microsoft(tm) technologies instead of rolling his own.
I wonder how this article would have been different if it were not posted on MSDN, where the self-interest of Microsoft in its current context is, um, obvious.
D
Below listed are some of the features hidden by the writer, perhaps guided by principles of neurolinguistic programming or freudian psychology... err.
Be careful about using bleeding-edge technologies.
i.e. use established (i.e. Microsoft) technologies.
A market with no competition ain't.
i.e. stay away from free software. (as microsoft always propose that free software is anti-competitive)
Small ISVs should build apps, not platforms.
i.e. build with existing platforms (i.e. microsoftish)
In his dig at the Java platform he mentioned that "you shouldn't use bleeding edge technologies".
This illustrates one of the dangers he did not list - "Don't learn the wrong lessons".
I built a Java/Swing app around the same time. It was a pretty complex user app, not just a simple program - and we managed to completely satisfy the clients and make the program perform acceptably on a very low-end target platform (PII-133 with 32 MB of memory). For what he described (replacing a complex spreadsheet) he should have been able to complete the task.
Why did our app work and his fail? Because we knew Java and Swing well by that point, and knew what was possible with some time spent optimizing. We had a plan in our head for how to reach a target level of performance that would be accepted and more than met that goal.
The lesson he should have learned was "Know your technology well before you embark on a project". The reason why it's so important to learn THAT lesson is that it applies to any project, not just ones using "bleeding edge" technologies. The only difference between an established and bleeding edge technology is the level of support you MIGHT be able to find. And that is not enough of a difference to totally affect either failure or success.
I think the most appropriate quote on this matter is one from Mark Twain:
"We should be careful to get out of an experience all the wisdom that is in it -- not like the cat that sits on a hot stovelid. She will never sit down on a hot lid again -- and that is well; but also she will never sit down on a cold one anymore."
"There is more worth loving than we have strength to love." - Brian Jay Stanley