Skip to content
Technical excellence

Contributing to Technical Strategy 📈

If collaboration and leadership are at the core of a Staff Engineer’s daily operations, strategy is where their long-term impact lies. While senior engineers might focus on delivering solutions to today’s challenges, Staff Engineers balance short-term goals with proactive planning to address future needs.

What is Technical Strategy? 🎯

Technical strategy refers to the well-thought-out, long-term planning and decision-making processes that guide the evolution of an organization’s technical systems. This could include:

  • Defining how systems should scale over time.
  • Implementing best practices for sustainable development and maintenance.
  • Identifying and addressing technical debt before it becomes unmanageable.
  • Shaping company-wide engineering standards and frameworks.

Staff Engineers contribute to technical strategy by identifying opportunities for improvement, championing ideas that provide lasting value, and fostering alignment around those ideas.

A Practical Example: Standardizing Permissions 🔐

While working at LeanIX, I identified a recurring challenge related to how teams handled user permissions in our application. Different teams had inconsistent approaches, which created confusion and inefficiencies when systems needed to share functionality. Although the issue was most visible in a small corner of our survey platform, it was clear that the problem would scale as our product expanded.

I took the initiative to propose a company-wide solution. Over the course of a few days, I:

  1. Gathered Requirements: First, I analyzed the specific needs of the survey platform and spoke with other teams to capture a broader perspective.
  2. Defined the Proposal: I wrote an RFC (Request for Comments) document outlining a standardized permissions model that could scale across our organization.
  3. Facilitated Alignment: After sharing the RFC, I gathered feedback, and iteratively refined the proposal to address concerns.

Once the RFC was finalized, the new permissions model became a North Star for all teams. Beyond solving the immediate problem, this effort created lasting clarity for future development.

How to Influence Strategy Effectively 🎪

Contributing to technical strategy requires a delicate balance of technical insight, communication, and persuasion. Here are a few things to keep in mind:

  • Identify pain points proactively. Spot inefficiencies or risks in your systems where strategic changes could provide long-term benefits.
  • Create a compelling vision. Frame your ideas in terms of how they align with business goals and future growth.
  • Engage stakeholders early. Seek input from other engineers, teams, and product leaders to avoid blind spots and gain alignment.
  • Document and share your ideas. Use RFCs or similar mechanisms to formalize your proposals and create a lasting reference.
  • Think big, but act iteratively. Not every strategy needs to be implemented at once; break big changes into manageable steps.

By contributing to technical strategy, Staff Engineers ensure that the organization can scale and adapt, even in the face of constant change.

Solving High-Complexity Problems 🧩

A defining characteristic of Staff Engineers is their ability to tackle challenges that others might find overwhelming. Whether it involves untangling intricate systems or resolving ambiguity in new architectures, they thrive in complexity and find paths forward where others see dead ends.

Why Complexity Matters ⚡

High-complexity challenges often carry high stakes. These issues could involve:

  • Systems that affect critical business outcomes.
  • Cross-cutting problems that impact multiple teams.
  • Architectural decisions with long-lasting trade-offs.

Solving such problems doesn’t just require deep technical expertise — it also demands strong critical thinking, structured problem-solving, and the ability to rally the right people.

A Practical Example: Moving to Event-Driven Architecture 🚀

At a previous company, our team faced a daunting transition from a REST API architecture to an event-driven architecture to improve scalability and decoupling. While the benefits were obvious, the challenges were equally significant:

  • State Persistence: Services could no longer rely on request-response patterns and instead had to manage their own state by subscribing to relevant events. To solve this, we implemented event persistence and replay mechanisms to ensure there was no message loss.
  • Transactions in a Distributed System: The traditional database transaction model no longer worked in distributed, asynchronous systems. We adopted the Saga Pattern, which broke transactions into smaller steps. Each step could roll back via compensating actions if failures occurred.
  • Idempotency and Deduplication: Duplicate events from retry mechanisms posed a risk. We created idempotency checks and added deduplication logic.
  • Operational Safety: To address edge cases, we incorporated dead-letter queues where failed messages could be reviewed and replayed manually.

What emerged was a resilient and decoupled system that not only scaled to handle new challenges but also improved fault tolerance and overall performance. However, the most critical part wasn’t just implementing these solutions, it was about documenting the architecture, mentoring others, and creating tools for debugging that empowered the broader team to operate the new system effectively.

Principles for Tackling Complexity 🛠️

When solving high-stakes, high-complexity problems, keep these principles in mind:

  1. Take a structured approach.
    • Break down the problem into smaller parts.
    • Tackle each piece methodically rather than trying to solve everything all at once.
  2. Leverage the expertise of others.
    • Complexity often spans into several domains, don’t hesitate to collaborate with specialists or teammates who bring a different perspective.
  3. Focus on trade-offs.
    • Many complex problems don’t have a perfect solution. Evaluate trade-offs and align your choices with business needs.
  4. Invest in learning.
    • Understand the problem space deeply before jumping into implementation. Avoid making assumptions too early.
  5. Build resilience into the solution.
    • Design for failure. Add safeguards, such as fallbacks or observability, so your system can recover gracefully from edge cases.

Addressing complexity isn’t just about solving the problem, it’s about building systems and processes that stand the test of time.

Strategic Thinking and Problem-Solving: A Winning Combination 🏆

Staff Engineers combine their ability to formulate forward-looking strategies with their skill in solving the hardest technical challenges. These capabilities don’t just help their teams succeed, they also create technical clarity, scalability, and resilience, which become foundational to the organization’s success.

In part 4 we’ll close out the series with aspects of the Staff Engineer role that focus on fostering team-wide growth: improving processes, building a culture of mentorship, and sharing knowledge. These contributions help amplify not just your individual impact, but the capabilities of your entire team.

Being technical proficient allows you to dive deep into system designs, technical leadership and more. How are you contributing to technical strategy or addressing complex challenges in your role?

Published by...

Image of the author

Jernej Klancic

Visit author page