Product
* Cool ideas are useless without great needs — this is the classic engineers’ entrepreneurial mistake (or at least I’d like to think so, since I’ve made it). Techies love tech, and a new technology can produce a lot of companies that don’t really meet a need. Better to start with the need, and then see how what you know can produce a better answer to that need. (Marketers tend to have the opposite problem: real, pressing needs with completely unworkable solutions.)
* Build the simplest thing possible — engineers have the hardest time with this, with not overdesigning for the need they’re addressing. Make the simplest possible product that makes a significant dent in that need, and you’ll do far better than you would addressing two or three needs at once. Simplicity leads to clarity in everything you do.
* Solve problems, not potential problems — you can waste a lot of money implementing solutions for problems you don’t have yet, and may never have. Work on the biggest, most pressing problems today, and put aside everything else.
* Test everything with real people — it’s unbelievable how helpful this is. Go find civilians, real people who use computers because they have to and not because they love to. Find them in Starbucks, or at the library, or in a college computer lab. Give them $20 for 20 minutes, and you’ll be paid back a hundred times over.