Are you grappling with uncertainty when it comes to introducing a Staff Engineer role within your organization? Do you wonder about their work’s scope and how they can truly amplify talent? Perhaps you’re even pondering questions like their programming involvement and how to harness their abilities from day one. If these thoughts resonate with you, this pamphlet offers guidance and sheds light on these topics.
💡 Define explicit work streams for the role
Before diving into a laundry list of requirements, let’s take a step back and consider the primary work streams that define the Staff Engineer role. In my experience, it’s more valuable to identify three to four work streams of focus rather than overwhelming ourselves with an exhaustive list of 20 requirements:
- 🎯 Technical advisory (4️⃣5️⃣%): A Staff Engineer is a valuable resource for technical consultations, providing expert analysis and conducting complex code reviews. An ideal scenario is when engineers come for advice instead of trying to supervise all the initiatives. Pull, not push. In parallel, ensure the most critical initiatives are covered well enough from a technical design standpoint.
- 🧘 Technical roadmap (1️⃣5️⃣%): Imagine a situation where teams spend their time on scattered, minuscule technological improvements without a comprehensive technical roadmap that stakeholders can grasp. A Staff Engineer plays a pivotal role in co-owning the technical roadmap backlog, introducing new ideas, and assisting with prioritization in their domain (backend, front-end, data, AI, and more). They ensure that development time is allocated wisely to agreed-upon technical improvements, keeping teams focused on the most impactful opportunities. For instance, consider the migration from .Net to .Net Core. Without clear prioritization, this task could take years to complete with questionable quality. However, when we communicate technical priorities and align our talent cross-team, we accomplish it within a year, saving lives 🙂
- 📚 Learning and knowledge sharing (2️⃣5️⃣%): Staff engineers typically lead or contribute significantly to a horizontal community (backend, front-end, data, AI, etc.). They bear the responsibility of cultivating an engaging and enriching community that encourages engineers to participate actively. To foster a culture of continuous learning, it’s essential to provide opportunities for attending conferences, at least once a year, with the expectation that attendees will share their key takeaways with the community. Staff Engineers should also set aside time in their calendars for personal learning, whether it’s reading insightful blog posts, books, listening to podcasts, or other educational resources. Last but not least, Staff Engineers should actively promote knowledge sharing within the organization, contributing to dedicated channels at least once a week. They can share the most inspiring blog post they’ve come across recently, sparking valuable discussions and enhancing collective knowledge.
- 🎉 Brand awareness (1️⃣5️⃣%): As Staff Engineers progress in their careers, they have the potential to contribute to the company’s brand from a talent perspective. They can write engaging blog posts and speak at meetups, workshops, or conferences, sharing real-life experiments and genuine improvements. Maintaining authenticity and avoiding superficial marketing tactics is essential, as engineers are perceptive enough to discern genuine value. Check out this exemplary site, developers.mews.com, for inspiration.
⭐️ Think in multiplication effect
Occasionally, we encounter a pattern of promoting profoundly introverted individuals to the Staff Engineer position or, worse, confining their talents to a solitary initiative for timely delivery. In such cases, the multiplication effect remains stagnant at 1. It begs the question: have we inadvertently introduced an antipattern? While this approach might ensure project completion on time, it falls short of enabling the company’s long-term growth.
Instead, let’s promote individuals with the right aura and exceptional communication skills. We should challenge our Staff Engineers to think about how they can continuously increase their multiplication effect and “contaminate” other developers with the right approach to technical design, priorities, coding standards, and quality.
❓ Staff Engineer and coding?
Take coding, for example. While it remains an essential skill for Staff Engineers, it is not the sole focus of their role.
As a Staff Engineer, How do you approach a situation with a tight deadline?
- You take over the control, putting yourself in the role of “I’ll save to world”, and ask others to back up, rework and implement the rest on your own.
- You supervise the initiative more closely, offer help, and pair or mob with the team, together.
Which of the options is more beneficial long-term?
Allocate a specific amount of time to coding prototypes or blueprints.
Dedicate a certain amount of time to code reviews that you delegate to the team level within 3–6 months.
Avoid spending any time on solo coding of product features.
Let’s start: Introducing the staff engineering role
- First things first, do your homework. Gain a solid understanding of the staff engineering role. A highly recommended resource is “Staff Engineer: Leadership beyond the management track” by Will Larson. As a manager, it’s crucial to comprehend and openly communicate the criteria that define an ideal candidate for this level. Clear promotion criteria are vital to avoid falling into one of two traps: having unsatisfied senior engineers seeking promotion elsewhere or hiring someone who only partially fulfills the requirements of their new position.
- Additionally, carefully consider where the staff engineer role fits within your organizational chart. In my opinion, an effective approach is to position the staff engineer role as equal to an engineering manager, with a direct reporting line to second-level engineering managers. This setup empowers staff engineers to develop technical roadmaps for the teams they support. However, be mindful of situations where staff engineers might struggle to delegate technical work effectively.
- Now, let’s discuss the obvious: selecting suitable candidates for the staff engineer role. It’s important to recognize that not everyone can make the transition and grow into this position. Clearly define what success looks like for the first three and six months in the role. As for headcount forecasts, a good rule of thumb is a ratio of 1 staff engineer to 15 team members. The technical complexity of the product may require adjustments to strike the right balance between growth and maintaining quality.
- Transparently communicate the reasons for promotion, providing concrete examples that demonstrate the required abilities.
Establishing a Staff Engineering role and filling in blank spots is not a one-off advancement. Above all, think in terms of the multiplication effect, especially in the company’s growth phase. It’s a journey that will pay off in the long run.
About Marian Kamenistak
Marian provides coaching and mentoring to engineering managers and leaders across various levels, helping organisations to succeed in building products.
Subscribe and stay tuned for the next post! 💪