A successful software company can come in many different sizes and shapes: SaaS or cloud-based, mobile, open-sourced, consumer, SMB, and Enterprise, etc. Even many successful “hardware” companies could be seen as software companies, as they are often driven primarily by novel software or firmware under the hood. With the diversity of form factors, it’s tough to generalize what makes a great software company.
But I believe that there are some common factors among the great ones. It’s much easier to look at successful companies and work backward in a postmortem fashion. The problem with this approach is that you often see a lot of “revisionist history” utilized when folks tell the story of what made a company successful.

Institutional technology investors have a well-documented list of success criteria when they make an investment decision. In general, it goes something like this:
- Strong Management Team with relevant experience in the space
- Distinct competitive advantage, usually via breakthrough, defensible technology
- Product/Service that addresses a serious pain point felt by the target customer
- Large market opportunity
You’ll see various flavors of the above list and ordered in many ways. But this is a pretty good representation of what VCs and other investors look for before they write a big check. When discussing what makes great companies, I agree that the list above is valid and quite important. But I think it’s also incomplete. Here are a few criteria of my own that I would add:
Management team chemistry in a successful software company
I’ve seen a bunch of management teams that looked like a great group on paper, from a skills/experience viewpoint. But in practice, they couldn’t work together for several reasons. Some common reasons are excessive competitiveness, selfishness, incompatible personalities, and different communication styles. As an example, I often see hard-driving CEOs with Type-A personalities who hire exclusively in their image. The resulting management team can resemble a pack of hungry dogs fighting over a single piece of meat, with everyone fighting to be in the lead. Putting together a management team with good chemistry and mutual respect is more art than science. It requires a leader with refined sensibilities in the “softer” aspects of executive management.
Lack of management arrogance and openness to learning
Management arrogance can be a big problem with people who perceive themselves as successful. Sometimes they believe their headlines and think they have all the answers. The problem is that when leading a software company, those successful answers of yesterday can be the disastrous strategies of tomorrow. That’s because software markets change so rapidly. Most leaders who can take their companies to greatness are not so full of themselves that they won’t listen to other internal and external voices. This enables management to navigate the treacherous road up the software industry food chain and raises the odds of taking a software business to the top. Of course, some famous leaders of large software companies don’t fit this description. But I believe they are exceptions to the rule.
Realistic self-evaluation at every stage of development
To maximize the company’s potential to reach greatness, avoid becoming enamored with your success. Or over/underestimate what more is possible. At every stage of a company’s development the financial resources, personnel resources, and realities of your market dictate what’s “possible” going forward. It’s sometimes hard to self-evaluate where you’re really at as a company. Some people are natural optimists and others are pessimists. I’ve always felt that a bit of marketplace paranoia is healthy in a management team. But the closer you can get to “reality” in your evaluation of what’s possible, the more likely you will be able to optimize that next step and keep moving forward on that long path to greatness.
Successful software company culture
I believe this may be the most important factor when it comes to a path to true greatness. There’s an old American football saying that “It’s not about the X’s and O’s, it’s about the Jimmy’s and Joes”. For those of you who aren’t sports fans, it’s just a funny way of saying that coaching (management) can only do so much. It’s the players (company staff) you recruit that make it happen. In my opinion, this is very true and means that getting the best people possible makes the difference in how successful a company will ultimately be. What is the most critical factor that allows you to recruit great people? In the long run, it’s a positive company culture that the current employees feel good about, which enables you to recruit great new people.
Those are my thoughts on what it takes to have a VERY successful software company. What would you remove or add to the list? Leave a comment below with your criteria for software industry greatness.
Follow Phil Morettini and Morettini on Management via Twitter, Facebook, LinkedIn, RSS, or Subscribe to the Morettini on Management Newsletter hosted by LinkedIn. Contact Phil directly at info@pjmconsult.com
Some can be deceived in thinking they are on a great team if they only hear what people think they want to hear. Type A’s are lied to and sucked up to more often than not because of fear in having a different opinion. Type A’s have to learn to take open and honest criticism and surround themselves with really open honest people that are technically savvy but believe in team over themselves. Honesty and transparency in leadership will take you much further than bullshit.
Great Article Phil! However, too often I see people like you analyze this solely from a financial point of view. With this statement “…VCs and other investors say they look for before they’ll write a big check…” you seem to imply a GREAT software company is only one that achieves big financial success and not one that withstands the test of time providing its owners and employees with a lifetime of intellectual fulfillness and happiness.
Unlike you, I do not feel VCs are particularly good candidates to describe how GREAT a software company is but rather how good it can be for their investments. By the same token, addressing a large market does not gauge how relevant a software company and its people can be. This to me, is also a monetary perspective that is relevant to those who want to invest in the company.
Software people have to renew their skills, reinvent themselves and adapt at an incredible pace which makes our profession uniquely challenging and rewarding and, in my opinion, a GREAT software company is formed by those individuals who are motivated by this thirst for knowledge and perpetual change, regardless of the amount of money that can be amassed in the process.
P.S. I could not agree with you more on “getting the best people possible really makes the difference in how successful a company will ultimately be…”
Your blog is really informative. Your blog benefited me. By the way, built the great software company I think, you need morale and a skilled, strong team.