Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it . — Steve Jobs
Recently, one of my colleague James Scicluna wrote an excellent post about Landing Your Software Engineering Dream Job. In his post, he outlines three pillars that have helped him choose which software company to work for throughout his career. For James, those elements are company mission, culture, and technology stack. These are excellent elements to look for as they’ll tell you whether you’d fit in and connect with the environment you are joining. If those are not in place, you cannot continue.
If they are in place though, then it’s important to understand how the company plans to execute on their mission and culture. Without a strong execution strategy, despite having the right pillars, a company will eventually crumble. To provide a framework by which to evaluate a company’s execution, in this post I’ll point out three core traits to look for:
- Company strategy
- Product roadmap
- Healthy team relations
So what are the elements of a great strategy?
A great place to work will have a well-defined company strategy. The best companies understand that a clear plan can only emerge from a solid strategy.
- Clearly defined market — What market is the company pursuing? Is it an established market or a new market? Do third parties like venture capital and analyst firms consider it a market? What problems exist that they are solving… essentially answering the question: what sucks? How large is the opportunity? If a company cannot clearly articulate their market, what problems they solve, and what size it is, it should raise a red flag. Interview questions to ask: What market do you serve? What is your total accessible/addressible market? What problems do you solve for customers?
- Competitive differentiation — Who else is serving the market? What makes the company’s offerings unique? Is the company a market leader, a rising challenger, a niche player or a visionary? Interview questions to ask: Who is your competition? How are you different from the competition? What third parties have assessed your strategy?
- Durability — This one is tricky depending upon how long the company has existed, since it takes time to execute on a strategy. If the company is changing its strategy often, there is likely no opportunity to build momentum. Interview questions to ask: How long have you been pursuing your current strategy. Who created the strategy? Are you considering a strategy pivot in the near term?
Strategy is great but without concrete plans to execute toward it, a company is simply treading water. Next up is roadmap.
How do you know the roadmap is roadworthy?
For a product development organization the company’s roadmap is the plan to achieve the strategy.
Give me six hours to chop down a tree and I will spend the first four sharpening the axe. — Abraham Lincoln
A great roadmap goes well beyond product features. The best product development organizations can define strategic themes and clear initiatives (solutions over features), along with improvements in user experience, accessibility, technology and deployment within their roadmaps.
When interviewing with a company ask them if work is being planned weeks or months in advance, how they track and communicate it, and how often major priorities change? If the answer is “weeks” and “often changes because we are agile”, this may be a red flag for you. Frankly, Agile is often an excuse for lack of planning and thoughtful design.
Also, ask about technology related initiatives examples can be upgrading to the latest framework version, or enhancing the performance of an area of the system to address increasing load. Include questions about design and user experience initiatives. Are these intertwined within the overall roadmap, or treated as a separate thing that “we do when we have time”?
Agile is about how you deliver, it does not mean changing major priorities all the time, and frequent changes around priority may indicate a weak or lack of understanding of the strategy (or a clear sign no strategy exists!). At ACL we have a roadmap that spans over multiple quarters. This does not mean we are following waterfall methodology. The roadmap guides our journey towards our strategic goals, with fuzzy requirements and priorities for long term items, and concrete plans for the near term.
Communication is the key to healthy relations
Having a great strategy and roadmap is awesome, but both are worthless if they are not commonly understood and priorities are misaligned.
Think about the following scenario: Two friends are planning a trip to Hawaii. They agree they want to have fun and relax. She packs a set of scuba diving gear, golf clubs and hiking shoes. He packs a book.
Pretty easy to see the impending problem, right?
When there is no clear strategy or roadmap, and communication is unclear, people assume different things based on their own interpretation. Departments in a company are no different. We all know the importance of having smart people on the team that share a set of strong core values and a belief system. That’s the “easy” part, but what about communicating a clear strategy and roadmap? Some companies do great when it comes to hiring strong talent, and fostering a culture, but they fail miserably when it comes to alignment.
When there is lack of alignment and understanding of the goals, the relations between the product management and software development teams can become very weak, people get frustrated and everyone suffers unnecessarily.
When interviewing for a position ask about the relationship between product, UX, and development. If the response is nervous laughter or knowing looks there is a chance there is an underlying problem within the organization. People do not enjoy being in conflict over extended periods. It is usually the result of lack of clarity around priorities that spawn from lack of a shared understanding of strategy.
Bringing it all together
A company needs a clear understanding of where it is going and why. Having those traits help everyone understand the plan and the expectations, and it helps everyone to move in the same direction. It also means that each individual understands their role and how they contribute value. This helps build confidence, trust and respect.
If things get derailed, all of the involved teams need to collaborate to put things back on track. At that point everything should be on the table, including changing scope, reassign resources, or revisit plans, and it all has to happen in a blame-free environment with clear communication channels to all stakeholders.
When thinking about your next career move, ask yourself if the company you are considering has a well defined strategy, an effective roadmap, and how solid is the relationship between teams. Remember that beyond culture, technologies and perks, a company should have these three traits figured out.