Learnings from Staff Engineer - Leadership Beyond the Management Track

29 May 2023

As a software engineer, reading is a big part of my job. It is also a significant source of my learning. I recently decided to learn about the Staff Software Engineer role and picked up - Staff Engineer: Leadership Beyond the Management Track. These are the things I learned from the book as someone who isn’t a Staff Engineer yet.

Types of Staff Engineers

Staff Engineer Archetypes

There are four types of Staff engineers - Tech lead, Architect, Solver, and the Right Hand, each with slightly different responsibilities.

Tech Lead
The primary role of a tech lead is to give technical guidance to the team, help them figure out an approach, and help with the execution of the plan. The tech lead works closely with the manager and has people management responsibilities.

Architect
An architect’s responsibilities involve working deeply in one critical area. They are the designers who give guidance about the technical approach and quality. They are generally subject matter experts in a particular area. They influence the company’s technical architecture with a vision of the long-term future.

Solver
A solver goes deep into and solves specific technical problems for the company. Their responsibility is to work on these until they are safe or resolved.

Right Hand
And finally, a Right-Hand works closely with organization leaders and executives. They borrow the responsibilities from them. The problems they work on solving can be technical or non-technical. The only issues they work on are the ones that are important for the organization.

Roles and Responsibilities of a Staff Software Engineer

The section above talked about types of Staff software engineers. Now let’s look at a software engineer’s high-level roles and responsibilities.

Setting Technical Direction
A Staff engineer’s primary responsibility is to set a technical direction for the team and the company. They work across broad areas and solve real technical challenges for the organization.

Mentorship and Sponsorship
As a Staff engineer, team growth is one of the crucial goals. They can influence the trajectory of the company by growing engineers around them. And one of the best ways to help accelerate the growth of people around you is through mentorship and sponsorship.

What is the difference between a mentor and a sponsor?
A mentor is a person who guides a mentee and answers any technical or personal growth questions. Mentors work closely with the people they are mentoring to enhance their learning and growth. A sponsor advocates the person they are sponsoring to others, helping them advance in their careers.

Influential Staff engineers should pair a moderate amount of mentorship with more sponsorship.

Providing Engineering perspective
They streamline routine decisions and help the organization in decision-making. They help understand the engineering context during these decision meetings. They explore and expose the badly taken decisions and work on riskier projects.

Being Glue
They act as a glue between the executives and engineering teams. They ensure the team is aligned with the org leaders to keep the work progressing. They do occasional coding. Their main job lies less around coding and more around reading and reviews.

How to Become a Good Staff Software Engineer

Now that we have looked at a Staff engineer’s types, roles, and responsibilities. Let’s look at what the book says a good Staff engineer looks like.

  • Work on problems that matter and leave the trivial issues alone. These problems should motivate you. Work on issues that are Low effort, High Impact, or High Effort, High Impact. Categories of Work

    Examples of the type of projects for a Staff engineer -

    • Priorities that will become critical in future.
    • Priorities that need your expertise and won’t happen without it.
    • Projects that help with your growth.

  • Writing is an integral part of the role of a Staff software engineer. Writing documents that support a company’s business is of primary importance.
  • Work on maintaining the technical architecture and software quality for the company.
  • Ensure that you are aligned with the authority. As a glue, a Staff engineer cannot afford to be misaligned with the organization leaders.
  • Give space to other people’s ideas. Blend your vision with that of your peers.
  • Build knowledge and perspective on technology and architecture.
  • Create space for people around you. Mentor and sponsor people and gradually assign them more complex tasks.
  • Build a good network of peers. You can trust these people to chat about difficult decisions and to give honest feedback.

Conclusion

I enjoyed reading this book, especially the interview section where different Staff engineers talk about their inspiring journeys. As someone mid in their career, this book set a perspective on a Staff engineer’s work and responsibilities. It helped explain the differences between the IC and the Management track. While reading the book, I realized that a few points mentioned in the book could be incorporated into my work to accelerate my growth, like -

  • Find a mentor and a sponsor.
  • Be actively mindful of the quality of work I am picking up. Pick up work under the Low Effort, High Impact, or High Effort, High Impact quadrant.
  • Hone my documentation skills and work on improving my written communication.
  • Build in-depth knowledge and perspective on the technologies.
  • And finally, build a good “network of peers.”