Over the last couple of years of managing, mentoring, coaching, and talking with developers and developer advocates, I've uncovered a gap where folks tend to need help: growing from a strong executor to a strategic leader. This applies equally to those looking to stay in the high level individual contributor path (e.g. "architects") as those wanting to go down the path of manager, director, and executive.
For example, many developer advocates come to a point in their career where they are great at learning new technologies, making videos, giving talks, or writing articles, but are unsure where to go next. They have done plenty of skill-building, but aren't sure how to make the leap to the next level where they are building strategy and leading key initiatives.
There are three key areas where I've noticed folks tend to need help as they grow in their career beyond a high level executor into a leadership role:
- Becoming a strategic influencer: the nuts and bolts of building strategy and setting good metrics, learning how to get comfortable with ambiguous projects, and enlisting others to help with your initiatives
- Building authentic relationships across teams: identifying key stakeholders across your company, building relationships before you need them, and how to distinguish authentic networking from politics
- Practicing nuanced communication: understanding the deeper levels of communication required in messages, emails, and meetings as you grow in your career; learning how to anticipate objections and concerns from stakeholders; giving clear and direct responses to avoid conflict
By the way, these are also the areas that I wish someone had sat me down and talked me through as my career evolved -- and where I've made a lot of mistakes!
Let's talk a little bit about strategy.
What is "strategy," anyway?
I've seen a lot of articles on various philosophies of measuring developer relations or developer productivity recently, but very few on how to think strategically in order to build your own metrics, regardless of whether you're a developer, developer advocate, or something else entirely.
One of my favorite definitions of strategy is actually straight from Wikipedia: "a general plan to achieve one or more long-term or overall goals under conditions of uncertainty." It's that last bit about uncertainty that I love so much; if your strategy doesn't allow for incomplete data or doesn't anticipate what might go wrong, it's not a good strategy!
I like to rephrase that definition into this fundamental question:
Given my current position, what move can I make that will have the biggest impact, preferably in multiple areas?
In a video game, you might be making a move that provides cover for your allies while also taking out an enemy starship. In a sport, you might be advancing on the field while also providing an opening for your offense to score. In business, you might be building customer trust while also growing revenue. In your career, you might be learning a new skill while also making new connections for a future job. (By the way, for that last one, check out my article on how to repurpose your day job work to make career moves.)
Strategic Decisions: The Building Blocks of Strategy
Each of these scenarios involve strategic decisions that add up to a larger cohesive strategy to win the game. So how do we make a strategic decision? When I'm faced with a strategic decision, I start with the following questions:
- First, what's my current position? Where am I on the board? Do I have an advantage or disadvantage anywhere? This question involves not just what's under your control, but also the landscape or environment. Look for openings, risks, or advantages; what is the "high ground"?
- Second, what is my highest priority? This one is crucial. It's not enough to know what all of your goals and priorities are; you have to be able to identify what the most important thing is in both the short term and the long term, and which one needs to take precedence. A very practical example of this: sometimes preserving a relationship is more important than being right.
- Third, what are my options? What are my potential moves, and what are the pros and cons of each one? Which ones allow me to achieve my highest priority? Do any allow me to achieve multiple things at once?
- Fourth, what could go wrong? It's impossible to predict the future, but it's important to give it your best shot. How might other stakeholders respond to this move? What am I giving up by going with this option? What's at risk?
Once I've evaluated all of these answers, it's time to make a decision. This is one of the hardest parts of becoming a strategic leader. At some point, you must weigh the pros and cons, make a decision, and act. Of course, you may (and likely will) need to adapt if something changes or it turns out you were wrong, but you must first make a move. Over time, you'll gain experience and wisdom to make this process faster and more accurate.
Formulating a Strategy
At the end of the day, a strategy for anything -- advancing your career, growing adoption of a developer tool, or beating your opponent in chess or basketball -- is a series of strategic decisions that leads to an overall objective. You can use that framework of questions for smaller decisions, but you can also use it to build a large strategy.
Let's apply those questions to building a strategy to grow adoption of a developer platform in your country:
- What's my current position? What does usage look like in this country? What is the current sentiment with regard to the platform? How do we stack up against other platforms in this region? What do developers in this region tend to value? Where do they currently put their time and money?
- What is my highest priority? Are you optimizing for goodwill and developer trust (which is usually the case for entering a brand new market), or optimizing for revenue (in an existing market)? Of course we want both, but, for example, sometimes to optimize for goodwill you'll allow more wiggle room in the budget for losses.
- What are my options? Should we do more in-person outreach, more virtual events, more content, or something else entirely? What does the community respond best to? How can we track these experiments?
- What could go wrong? Are there technical risks? How about geopolitical or economic factors to be aware of?
Once you've gathered all of the answers to these questions, it will be time to make a decision, scope the parameters, and decide on some metrics to determine success. For some tips on making a decision, check out the "Just Pick Something" section of How to Finish What You Start. For scoping parameters of a strategy, check out How and Why to Reduce Your Scope. Both of these (and more) are also included in my book Guide to Tiny Experiments. We'll dig into determining good metrics in the next article of this series.