What makes a software company great
My humble effort to put the topmost indicators of what defines great software companies in the first place.
Do I trust the Product?
It is the Product which matters, not the technology.
Are you fully on board with the Product`s vision? Alternatively, I like to judge the Product`s impact via its simplicity: Is the Product simple enough you can explain the point in 15 seconds? That signals the Product can make it to the top and take you there as well. Simplicity sells ideas. Does the Product aim to cut its piece out of the market without a WOW! feature or a differentiator, compared to other competitors? Is the company focused on making the Product grow or does the company live out of inertia, doing mostly support and sustaining at the end of the Product`s life? Does your team have a designated Product manager enthusiastic about the Product?
If you trust the direction of the Product and its impact, you are on the right spot. On the other hand, if you happen to work on the Product features with a blurry outcome and no feedback, abort the ship.
Is the management fair and transparent?
In a work environment, transparency is everything.
Having visibility into the direction and decisions, there is no space for significant misunderstandings or uncertainties, waste, or toxic culture. The company has focus on the top goals and shares its current status. The chef-d'oeuvre is to find the company which applies its Values in the real world as opposed to being just posted on walls in capital letters. One can ask about situations how the Values have helped the company to make the right decisions in practice. The reason why it`s worth looking at the company Values and Principles is, when used properly, it will actually help you to win arguments and get the buy-in to your ideas. Nobody fights against company Values.
To find out what is the current level of transparency in the company, observe how the top management behaves in terms of communication and openness. The reason being, I firmly believe people in a company copy the behavioral patterns of their top managers.
Do you have a regular opportunity to raise a valid question way up or across the company? Do people in the company naturally rise kudos to others or shame themselves via an open channel? Is the manager consistent in what he says, and explains transparently the reason why some of his opinions or directions might have changed?
One example above all, does everyone have access to the financial overview to see how healthy the company is? Check the Cashflow, MRR, CAC, LTV, ie.
Ideas gathering
Focus on the roadmap is heavily important. A crucial complement to it is the ideas gathering across the company in a bottom-up way.
It is not sufficient enough to ask employees what product ideas or features they have in mind just once to twice a year. Ideas generation is a continuous process. Therefore, a company should collect new ideas on a frequent basis in the form of a background process, where you explicitly provide space and time to it. Could be Innovation days, allowing people to spend 2 days per month on their product innovations or prototypes, forming tiger teams.
Usually, a third of ideas is part of learning and waste which is the natural part of the process. Another third is turned into prototypes and waiting for completion or for being a roadmap candidate. The last third makes it to the product.
Learning
For an engineering career in the long-term, learning is key.
In fact, it is the top goal of every person that matters. Whatever happens, your knowledge and experience are what makes you valuable.
Is the company providing any sort of introductory and deep-dive courses, programmes or materials to get you on board with the Product?
And secondarily, how does the company help you to extend your expertise? Look for architectural sessions, Communities of Practice in the backend, front-end, mobile, or any sort of regular knowledge-sharing sessions. Pluralsight access solely doesn`t do the trick :-)
The other deciding factor you can identify later on is if the company lives by the Psychological safety principle, where you are free to express your opinions or make small mistakes to learn from, without being bullied. As to more serious failures, are open Post-mortems part of the company`s culture, ensuring the very same errors don`t get repeated?
On my path, I was fortunate to work with leaders worth following. I learned a lot from others. When I couldn’t find such a leader, I learned another skill, which is to move elsewhere.
Outcomes over Tickets
As a developer, you most probably work in Scrum, Kanban, or a mixture of both. Most of these methodologies are based on a ticketing system (Jira, YouTrack, Asana, Trello, ..).
The main differentiator to look for is whether the company considers the main goal of the developer to be “closing the tickets” or to “create features”.
To find out, look for answers on: Is the development team involved early enough in the solutioning and design phase to find a better solution together or is the team simply told by the handed-over specification from a Product manager how the feature is supposed to work? Is the team success measured just by the number of tickets being closed or does the team have the freedom to change the Sprint content for the purpose to achieve the goal designated for the Sprint? At regular demos, is the new feature reviewed by product managers, support, delivery, and sales teams as well?
Summary
It is your trust to the Product, the high level of transparency across the company, strong learning environment and focus on outcomes which makes a software company great.
In terms of technological awareness, look for the company public blogs, papers, patents, conference speakers or open-source contribution. In the end, specific technologies and frameworks don`t matter that much. What matters is if you are in the right place at the right time. Be part of something amazing and see your Product gain the $2bn valuation. Such experience makes you the most valuable.