By far, it is managing cash flow. You need to be VERY good at it. There is an extremely fine balance between the speed you can invest and the speed at which you get new customers (i.e. revenue). And it is very easy to tip it of one way or another.
If you are too risk averse, you will not invest enough and grow too slowly and be overtaken by market, if you take too many risks, you can be broken and have to shut down ... as said, very fine balance!.
But mastering this balance will equip you with extremely useful skills that will prove invaluable for later stages of your startup and that, from my point of view, people that try to get funding as soon as possible don't fully develop.
So face the challenge with a brave face! :)
1. Money stuff - running out of money, taking on work that you know you shouldn't because you need the money, working a day job to pay the bills (to the detriment of the startup) etc.
2. Customer stuff - excessive focus on a handful of big customers (very tempting with a big customer to keep selling them more product); excessive focus on unprofitable customers (even some big customers can actually wind up being completely unprofitable).
3. Internal stuff - hiring too quickly, firing too slowly; poor management; allowing bad culture to creep in; not communicating.
4. Legal and financial stuff - not doing accounting or incorporation by the books (yes, its cheaper to do it on your own, but it will bite you later on); not being careful with expenses; not having proper contracts with customers (handshake works in some industries, but it isn't wise); not enough policy or too much policy!
5. Sales stuff - getting lazy after making a big sale and letting your pipeline dry up! Selling stuff you can't deliver on, or that you know will cause problems later on.
The above is just a taster. There's many many similar potholes, and I've stepped in most of them over the years.
1. Are you sure you are solving the problem?
Make sure you are building the right product that people will actually want and pay for. Don't just spend 6 months locked away building something and then release it. Start talking to potential customers as soon as you have an idea. Otherwise that 6 months may be wasted when you find out you built a product no one wanted.
2. make sure you have the right market.
You need to find out the following: Is this a big enough problem for them to spend money on? Can they afford to pay what I need to charge? Is the market large enough for me to succeed in? If you don't know these things they can kill your business.
3. Don't forget to measure
Measure and track everything. User feedback, money spend, marketing, development cycles etc. By doing this you can see where to optimize and what is working vs what is not. This is especially critical when you are bootstrapping since you're going to be restricted in time/money/resources compared to a funded and/or already successful company.
4. Pick the right team
This will bite you in the future if you don't get it right the first time. Make sure that your team can all work together through thick and thin. Also, make sure that it's a rounded team. For example, you shouldn't all be designers. Ideally you will need a programmer, designer/product person and business/marketing person. At a minimum you should have a programmer + a non programmer for any online or software business.
Of course, there are many more, but those are top ones.