Understanding Technical Strategy in Engineering
Technical strategy is an elusive concept for many software development professionals. Many organizations have an Engineering team but not many have their technical strategy figured out. Technical strategy serves as one of the guiding principles for Engineering team to operate.
Unfortunately, many engineering team members do not know what tech strategy means and most have not even participated in defining one. Many software professionals are trained for execution in the early stage of their career. It will be until way later into their engineering career that they realize the importance of technical strategy. In fact, sometimes even senior roles such as Project Manager do not find relevance in technical strategy on how it will impact their day-to-day execution.
Too many software professionals were rewarded for good execution. There is a misconception of more effective execution = better career advancement. Well, that equation is not entirely wrong, but it will only take the an engineering career to so far. What made us successful early in our career does not necessarily make us successful going forward.
As software development professional enter the mid-career transition (5–10 year experience), they will be introduced to strategic discussions about “what should we do” as an Engineering team or as an organization in larger context. The bad news is, many are not trained to answer such question because they are primarily being fed with the “what” and they only take care of the “how” in the software development process.
What many software development professionals fall back to is the execution mindset by focusing on the “how”. This is when we hear “we cannot do x because of y and z reason”. It is the underdeveloped strategy skills that prevented the professionals from looking beyond the “how”. In simpler terms, the lack of technical innovation.
Due to the underdeveloped strategy skills, software professionals built an execution reputation which will make them less likely to be included in future strategy discussion, which then lead to strategic skills being even further underdeveloped in a downward spiral.
What Technical Strategy Is Not
Now that we covered what got us here. Let’s talk about how do we move forward. Before we talk about a good technical strategy is, let’s talk about what technical strategy isn’t.
1. Tech Strategy != Always Using Latest Technology
It is tempting to pitch the idea of revamping a system using GoLang and justify with a list of benefit. Revamping systems come with great overhead especially for complex systems that are running in production serving millions of user. Some of the most successful systems are built using classical languages such as PHP and Java. The reason is because they are using a set of proven tooling to get to their goals effectively instead of throwing away precious time to fix issues that no one else have encountered (spell negative ROI). Not to mention talent availability is a risk to mitigation for tech stack that is too shinny.
2. Tech Strategy != Product Strategy
Product strategy is often mistaken for tech strategy. Product strategy focuses on what to build while technical strategy focuses on the how to build. For example, to build a wireless device that allows two-way communication (what); to implement using whether Bluetooth, WiFi, 4G, 5G or design a new wireless protocol (how). Tech strategy often need to evolve depending on the the business constraints and the long term roadmap. Product and Engineering department often works as customer and supplier relationship where Product specify the what and Engineering supplies the how. In many modern tech companies, Engineering also actively participate in defining the what hence created the blurry line between product strategy and tech strategy.
3. Tech Strategy != The Best or Newest Idea
Do you know that before Facebook, there were MySpace and Friendster? Do you know that Grab (valuation at $40 billion, 2021) is simply a duplication of Uber in Southeast Asia? It does not take ground breaking ideas to justify a good tech strategy. Tech strategy plays a complementary role to achieve business strategy. A good tech strategy is one that empowers frictionless execution of business strategy. Less experienced engineering leaders often mistaken that a good tech strategy should be something totally new and unheard of. Different ways of solving problems are necessary, sometimes they are indeed ground breaking but more often they are existing approach that have been proven to be successful by others.
Technical Strategy Stack
Technical strategy describes the tactical aspects for Engineering department. However, it has little value if interpreted on its own. Tech strategy has to built on top of: company mission, company strategy, department strategy, then finally, technical strategy to form the coherence and alignment in the business.
As discussed earlier, Product Strategy describe what to build (and why do we build them). The “how” of technical strategy can be broken down into:
- What technology should we invest in R&D?
- What technology should we use to build and maintain our products?
- What are the alternatives (approach and tooling) to build our products?
When both product strategy and technical strategy provide the right level of granularity, they create good synergy and act as powerful alliance to materialize company strategy.
The willingness to explore alternatives is essential in technical strategy. The conversation of “we cannot do x because of y” is often due to the lack of willingness to explore alternatives. The lack of awareness on the importance of exploring alternatives will severely impact defining a good technical strategy. In order to define a good technical strategy, both engineering leaders and developers must explore possibilities to tackle future challenges.
For example, Spotify reimagined their technical strategy by prioritizing investment in audio encoding to efficiently stream music on the go. Spotify handled buffering and caching to optimize for mobile (unstable) network. Their investment in technical strategy brought them to dominate the audio streaming market. Midia Research estimates Spotify had 32% share of global music subscribers in March, 2021. The bad news is, there are early signs Spotify starts to lose their defensibility maintaining market domination. With the arrival of 5G (or the very least of having stable 4G), Spotify’s early technical strategy that gave them competitive advantage might no longer appear to be attractive. Spotify’s example shows us that a good technical strategy will help the business to go to new height, however the continuity on revising and aligning the technical strategy is equally important.
In summary, many software development professionals have strategy skills being under-developed. It is important to clarify what technical strategy is not in order to shake off the wrong pre-conditionings. Understand that technical strategy should be built to support business mission and continuous revision is essential.