Anyways, for me it was:
* not doing customer development at the very beginning
* concentrating on technology instead of customers
* not taking into account market forces
* not taking into account my economic environment (Eastern Europe != California), reading too many SV blogs
* not starting the company when I was younger (started at 27, should have started at 25)
I think not concentrating on customers is a common mistake, which could be avoided if for example the book "Four steps to Epiphany" would come up more often, and people would read it before spending 6 months writing code =)
http://www.amazon.com/Four-Steps-Epiphany-Steven-Blank/dp/09...
EDIT:
I actually think reading lists like this is not that helpful, at least it wasn't for me. A technical person doens't even know what customer development is. What's technology, it's different in different contexts. What are market forces in your segment, you probably don't even know when you're starting out.
I would recommend to talk to a friend who has started a business and has experienced the realities. I have been on the advice-giving end of such a conversation a couple of days ago, and it was shocking to see my mistakes (mostly wishful thinking and lack of ecomomic realities) repeated in my good friends line of thinking. I spent a whole night (8 hours) telling him my insights, it was pretty shocking for him, several times he walked out and then came back, but I was only telling him what I learned the last 2 years. In the end it was a good deal for him.
Pretty much everyone = most people, not everyone.
* Not starting early and having to pull all-nighters as deadlines approached.
* Not communicating with clients on a daily basis (this also helps to keep you from procrastinating).
* Not starting on your crazy side ideas/weekend projects as soon as possible. The longer they sit on your to-do list, the more they'll bug you but also the less likely they'll get done. If you at least get them to a prototype stage, you won't feel like you missed out even if you decide not to finish them.
It is easy to beat yourself over this point, but procrastination is extremely common. I'm highly guilty of it. In school, work, and life, without hard deadlines approaching, it is too easy to wait until the last minute and be forced to pull all-nighters.
2. Not addressing a universal consumer market.
3. Extrapolating too far and pivoting unnecessarily.
4. Not focusing on the bare minimum of features.
5. Not keeping things simple.
6. Not having a big "Fordian" vision (read Ford's autobiography).
7. Not getting prospective customers to cover development cost.
8. Focusing too much on "talking about culture" rather than culture itself which is values plus action.
9. Not pushing employees enough.
10. Not insisting on timeliness (being "before time" not "on time") or outcomes enough.
11. Worrying.
12. Not working a fixed 8 hours a day (max 40 hours per week).
13. Not exercising consistently.
Needless to say in spite of these, the outcome so far has been good, but if I were to advise someone, I would mention the above.
I was doing stuff I found interesting even though it wasn't what my customers were asking for, and in doing so I've left a lot of money on the table.
This is being corrected now, my users have been screaming for me to add advertising for a while (strange, huh) and I'd been against it because I didn't think it was important and because I thought I had more pressing things to do (adding new features).
But in the area I'm in (highly loyal niche community) most of the users are involved in cottage industries of their own and want the advertising to not only help ensure the sustainability of the community but also to give their products exposure and a springboard. Likewise users of the site have been asking for adverts so that they have a kind of slow beacon showing what new stuff has emerged that they might've missed in the ebb and flow of fast moving conversation.
So the lesson I've learned is to quit holding an anti-advert bias and to listen to the users more. They really want adverts and they really want to give me money, and I should really let them do the latter ASAP.
Another one would be to make larger pivots faster.
I started the company to own the pet project and to use that to fund what I feel are larger more complex things. However, the pet project has £3k revenue per month with almost no effort (maybe a couple of hours per week), clearly it's the one with traction and I should be behind that 100% instead of mostly ignoring it. There's so much I could still do with the pet project and haven't been doing because I've been researching more complex things... this is dumb of me in the short term as I could be building the pet project into the main entity and sustaining a proper income from it.
Both of these lessons lead to the same thing: Quit being blind about your realities. Stubbornness to only do the things you want to do, without listening to your users and customers, may be stopping you from actually do what you can do.
-> This leads to a situation where you see customers asking questions in a forum and you (as a developer) are not allowed to answer because this is what the investor's support team is supposed to do. Thus, answering will be slow and of low quality. This builds a bad reputation. I will never do that again.
* Make one thing very good, ignore trying to do hundreds of features at launch.
1) We knew far less than their average investment, which led to us experiencing more and faster improvement from the same help (while remaining worse than experienced founders, I would imagine).
2) We really weren't ready for the momentum funding put behind us. We had a business model that could support the founding team (we had broken even bootstrapping for the past year) but with the money comes the compulsion to hire and so on. It also put our focus on sales and revenue instead of learning, which caused some short term optimisation (eg. "Let's polish this product we suspect has no future so we can sell it now").
So raising that round was a mistake in terms of that particular business, but it taught me things that are hard to learn without taking investment and, more importantly, convinced me that startups really, truly, honestly do have distinct stages of growth that you can't force your way through.
I used to think that somehow kicking around ideas on places like HN made the ideas better, when in fact all they did was create ideas that hackers thought were cool. Different thing entirely.
You only know an idea is good or bad once you start executing. The market is always different from what you imagine (or want it to be)
What I did: A million tasks, only 14 of which were absolutely required by Task 1.
What I did right (that many others don't): Find out from prospective users what Task 1 should be. (Although it still hurts when you find this out but still don't do it.)
Thus screwing the whole notion of Venture Capital. Indian VC's act more like a Private Equity Firm than a VC in a traditional sense.
If you're doing something complex and different, you have to rely on yourself and largely ignore everyone else unless they've spent a long time thinking about your exact situation.
Learning from others' faults is better. Oh, and don't forget to pass along what you have learned on your own anyway. Open-sourcing is not just about software ^_^
I'm not an entrepreneur yet, thus I can't pass along my wisdom. The fault I will try to avoid with all my strength when I will become one, will be thinking that hacking are just about software. I will try to keep myself surrounded by marketing hackers, communication hackers and so forth, everyone respecting the skills of each other.
Have fun ^_^
* have at least 10 customers willing to buy my service when it's done. During the time of development they would commit to spend time with me validating my product hypothesis.
* prepare spec for a _REAL_ mvp.
* clearly _describe_ problem that I'm trying to solve. (now I know that it takes multiple iterations to achieve this - most importantly discussing the problem with your future customers)
By the time I realized my mistake, I was ready to move on to another startup. Wasn't able to create passion for a core business and the technology wasn't enough.
Note I'm not talking about a "marketing launch", but a launch where your product gets in front of early adopters.
http://codemonkeyism.com/6-reasons-why-my-vc-funded-startup-...
1. We didn’t sell anything
2. We didn’t sell anything
3. We didn’t sell anything
4. The market window was not yet open
5. We focused too much on technology
6. We had the wrong business model