Senior Staff Software Engineer

Impact

Senior Staff Software Engineers would already have experience working with multiple teams. It is not uncommon for a Senior Staff Software Engineers to have an entire Business Unit / more than 3 product teams inside their portfolio.

Managing your work

Usually at this level, you are senior enough such that your boss will tell you why you need to do something. Expect your manager to give you these:

  • Quality information about the organization / team priorities and related context so that you can make good decisions about what to do and how to do it.

  • Give and / or enable feedback about what you are doing and make sure there are trustworthy paths for you to learn how the things you are doing are impacting the organization, your reputation and your performance goals

  • Support you by helping you clear roadblocks and deal with some negotiations with other teams, such as securing resources, money from a budget , etc.

Beyond these, you should be expected to figure out what to do, how to do it, and direct yourself to achieve your goals. You should also start Thinking in Bets as this could help you make smarter decisions when you don't have all the facts.

Coding vs Knowledge-sharing

By this point, you would most likely be helping several development teams to find solutions, evaluate tradeoffs and review designs. It may be very tempting to write the code and deliver the solution yourself, especially when you see that others don't have the skills to implement your design. However, doing this robs your organization of:

  • Your ability to see the Big Picture - being too hands on means you won't have time to examine other parts of the solution.

  • The opportunity to upskill weaker developers.

  • The chance to conduct code reviews in other systems and catch problems.

When you are working with several development teams, it's no longer practical to try to deliver a solution yourself. You must rely on others and focus on upskilling people around you.

How do you stay sharp in coding then? You can still be a great engineer by knowing the different options and tradeoffs of a design. Participate regularly in the design reviews happening across the whole company. While you would most likely not be coding the implementation details, you should still follow the development to see if reality matches proposed designs.

Learn more about Coding Architect vs Knowledge Sharing Architect.

Rotate across different Staff Engineer Archetypes

You might be experienced being a Tech Lead, or being an Architect. As part of your growth, look for opportunities to adopt other Staff Engineer Archetypes so you could build a holistic view of different problems that arise in the course of software development including organizational and people issues. Read the Stories of other Staff Engineers to get inspiration on how to deliver value in different ways.

Your Reading List for this page