Having worked at various levels in five startups and having observed a great deal more, I've come to believe that there is a very important tension that takes place within startups between idealism and opportunism. How well a company manages this balance is probably one of the single most important controllable factors in their long-term success. At its heart, the idealistic startup company is an idea company. To them it's about turning a certain idea into a reality and convincing people how great that idea is. In an idealistic company there is a lot of talk about the long-term vision and people focus on keeping things clean and simple and true to the core. People tend to think of Google and Apple as having been idealistic startups. An opportunistic startup sees a need and someone who will pay to fill that need and seizes the opportunity. Opportunistic companies focus very closely on what particular customers want; they listen carefully and meet the need as fully as they can. In an opportunistic company you will hear a lot of discussion about deals and how they are coming and what's in the pipeline. An opportunistic company takes the old adage that "a bird in the hand is worth two in the bush" very seriously. People tend to think of Microsoft as having been the iconic opportunistic startup (many years ago).
Developers very often think of idealistic startups as "good" and opportunistic ones as "bad." When I ask developers who have never been a part of a startup company what they think is important they almost always talk first about having a really great idea and building it well. Opportunism is viewed as the domain of the "MBA" startup and hence something to be detested. Interestingly, MBAs frequently give me the exact opposite spin. They point out all the failed startups with great ideas and talk about how important it is to be in the right market and find the ideal opportunity. In this world view, ideas are cheap and excellence is the product of drive, determination and smart business decisions. Successful idea companies are thought of as being successful due to market forces that they were fortunate enough to capitalize on.
The problem is that both these world views are wrong. It is doubtful that Apple or Google were fully idealistic companies, and it is doubtful that Microsoft was fully an opportunistic one. In practice, almost all successful startups find a balance between idealism and opportunism to one degree or another. Companies that are completely idealistic almost always fail, and while extremely opportunistic companies may succeed, that success is frequently either very limited, or it is a success at the expense of others (in which case the people succeeded but not the company).
The biggest strength of an idealistic company is also its biggest weakness. Idea companies Believe. Belief is a powerful motivator, and wanting to make a difference is a laudable goal, but it can lead to pride. When you think you know the truth you listen to people with an ear to convince and not an ear to learn. When you stop listening to your customers with an ear to learn failure is the short step and long drop you are about to take. No idea is perfect, and every idea exists in some real world context. Shortcuts, imperfections, evil-hacks and custom solutions are not uncommon necessities, but to find out when they are needed and when they are not you have to think beyond your own ideas and understand how people can actually put your ideas into practice in a way that works for them (not for you).
Interestingly, opportunistic companies often fail because they don't do enough thinking for the customer. Their product is whatever people want it to be, which is to say that they have no product. Companies like this tend to find their first sale quickly, their second more slowly and their third not at all. Alternatively they end up making product after product and eventually being unable to support any of them. By making the individual customer the center of their universe they can end up solving problems that are not more generally useful to other people or they can bury a good idea in an avalanche of useless complexity.
To create a balance between idealism and opportunism some companies attempt to build high-tension teams. Teams that include opportunistic sales and idealistic product management and development. The idea with this approach is that the two sides will drive towards compromise. This idea makes since at an abstract level but in practice it's virtually impossible to carry out. Sooner or later one of the teams will gain sway and the other team will grouse interminably about the outcome. The "healthy conflict" loses its adjective leaving just "conflict."
The better approach is to understand what kind of company you are and then work harder to have some of the characteristics of the other kind of company. In other words, it's OK to be idealistic, but work extra hard to make sure you are understanding your customers and what opportunities are present to make their lives easier for them. It's OK to be opportunistic, but if you want to do more than bend over every five minutes to pick up another penny, pull your head up and look down the road a bit. Try to see not only what the current opportunity is, but also what the effect will be on your long-term prospects. Idealistic companies should take opportunities that don't seem "just right" to them and opportunistic companies should turn down business that doesn't fit what they are doing very well.
Of course, some startup companies already balance these factors well. These companies exist in a state of idealistic opportunism or perhaps of opportunistic idealism. If you work for a company like that then now might be a good time to buy your vested options!