Many technical people dream of starting a company and having it grow to an IPO. The history of computing is littered with the successes and failures of companies that attempted this. As a young man in high school, I saw the explosive growth and success of Apple, dreaming of working for them or duplicating their success. In the late 90s and 2000s, I tried a few startups before I founded SQL Server Central with my partners. I had success with that company, though no IPO :(.
I've seen many friends start companies, often consulting ones, though a few have built products. Building and running any enterprise is hard, and startups are no exception. There was a post on Hacker News looking for advice and business lessons from others, and I enjoyed reading the responses. I wouldn't read much deeper than the first level of responses, as many of the subsequent comments are less interesting.
This response was something that caught my eye, especially as someone that's had to do more than the technical part of running a business. A lot of the challenges I find in startups are business related, especially when technical people are in charge. It's good for them to understand that core business, especially sales, skills are important. Even more important, home life matters.
It's easy to assume that your technology matters. Is the bidding technology at eBay better than uBid or eBid or even Craigslist? They are now, but 20 years ago many of these sites were similar, and some had arguably built better systems. Was the tech behind Amazon in 1999 that far ahead of Barnes and Noble or Borders? Certainly, Amazon continued to invest in technology at a scale that exceeded many other companies, but they built their success because of execution in business, not technology.
Starting a company is hard, and it takes a lot of work. Whether you create a product or you are the product. I've seen many over the years, worked with some, and often the best products, tech, or people aren't the ones that succeed. The ones that are best at running a business succeed.
If you want to try and start a software company, go into consulting, or perhaps create another business, I urge you to learn a lot about how to run a business. Basic sales, marketing, and accounting skills will go a long way towards helping your endeavor succeed. For many of you, the tech is the easy part, so don't spend all your time there.