The Staff Engineer's Path Summary

The Staff Engineer's Path

A Guide for Individual Contributors Navigating Growth and Change
by Tanya Reilly 2022 335 pages
4.39
1.7K ratings

Key Takeaways

1. Staff engineering is about big-picture thinking, execution, and leveling up others

Your big-picture perspective includes understanding what's possible and having good judgment.

Big-picture thinking involves stepping back to see beyond immediate details and understanding the broader context. This means considering long-term implications, initiating year-long projects, and predicting future needs. Staff engineers need to see how different teams and projects interconnect, and make decisions that benefit the entire organization rather than just one team.

Execution at the staff level involves tackling messier, more ambiguous projects that require more people and political capital. These projects often need culture change to succeed. Staff engineers must navigate complex organizational dynamics and influence without direct authority.

Leveling up others is a crucial responsibility of staff engineers. This includes intentional influence through teaching and mentoring, as well as accidental influence by being a role model. Staff engineers should raise the standards and skills of engineers within their orbit, whether it's their local team, organization, or the entire industry.

2. Understand your role, scope, and organization to maximize impact

You can't do everything, so you'll need to choose your battles.

Clarify your role by writing out your understanding of your job and sharing it with your manager. This helps align expectations and uncover any misunderstandings. Consider factors such as:

  • Your reporting chain and where you sit in the organization
  • Your scope of responsibility and influence
  • Your work preferences and current primary focus

Map your organization to gain perspective and navigate effectively:

  • Locator map: Understand where you fit in the broader company context
  • Topographical map: Identify organizational terrain, including communication paths, decision-making processes, and potential obstacles
  • Treasure map: Clarify long-term goals and milestones

Build relationships across the organization to increase your effectiveness. Connect with peers in other groups, understand different perspectives, and learn about challenges and priorities beyond your immediate team.

3. Create a technical vision or strategy to align and guide the organization

A strategy is a plan of action. It's how you intend to achieve your goals, navigating past the obstacles you'll meet along the way.

Develop a technical vision to describe a desired future state once objectives are achieved and major problems are solved. This creates a shared reality and empowers teams to make decisions aligned with the overall direction. A vision can range from a company-wide perspective to a single team's work.

Craft a technical strategy to outline specific plans for achieving goals and overcoming challenges. A good strategy includes:

  • Diagnosis of the current situation
  • Guiding policy for approaching obstacles
  • Coherent actions to implement the policy

Align and communicate the vision or strategy effectively:

  • Get sponsorship from leadership to ensure organizational support
  • Involve key stakeholders in the creation process
  • Use clear, memorable language to make it easy for others to understand and repeat
  • Regularly revisit and update the document as circumstances change

4. Choose projects wisely based on impact and personal resources

By choosing to do one thing, you're implicitly choosing not to do another.

Evaluate project impact by considering:

  • Alignment with company goals and priorities
  • Potential to solve significant problems or create value
  • Long-term implications for the organization

Assess personal resources before committing to projects:

  • Time: Consider your current workload and available capacity
  • Energy: Recognize which types of work energize or drain you
  • Quality of life: Choose projects that align with your values and interests
  • Credibility: Look for opportunities to demonstrate technical and leadership skills
  • Social capital: Build goodwill by helping others and delivering on commitments
  • Skills: Seek projects that allow you to learn and grow in desired areas

Balance trade-offs when selecting projects:

  • Short-term vs. long-term impact
  • Personal growth vs. organizational needs
  • Technical depth vs. breadth of influence

Be willing to say no to projects that don't align with priorities or stretch your resources too thin.

5. Lead big projects by setting up for success and navigating obstacles

Competence means having well-founded confidence that you'll be able to solve the problem.

Set up for success by:

  • Clarifying goals, constraints, and success metrics
  • Defining roles and responsibilities for all involved parties
  • Establishing communication channels and decision-making processes
  • Creating a project structure with clear milestones and deliverables

Navigate obstacles by:

  • Anticipating potential roadblocks and planning mitigation strategies
  • Building relationships with key stakeholders to facilitate smoother collaboration
  • Staying flexible and adapting to changing circumstances
  • Communicating transparently about progress and challenges

Drive the project forward by:

  • Regularly reassessing priorities and adjusting course as needed
  • Making decisions and unblocking team members
  • Facilitating effective meetings and information sharing
  • Celebrating milestones and recognizing team contributions

6. Recognize when projects are stuck and take action to move forward

Pushing on with a doomed project is just postponing the inevitable and it prevents you from doing something more useful.

Identify common reasons projects stall:

  • Blocked by dependencies on other teams or individuals
  • Lack of clear direction or decision-making
  • Misaligned priorities or resource constraints
  • Technical challenges or unforeseen complexities

Take action to unblock projects:

  • Communicate clearly to understand the root cause of the blockage
  • Escalate issues to appropriate leadership when necessary
  • Look for creative solutions or alternative approaches
  • Consider reducing scope or adjusting timelines
  • Be willing to cancel or pivot projects that are no longer viable

Learn from setbacks:

  • Conduct retrospectives to identify lessons learned
  • Document findings to inform future projects
  • Use failures as opportunities for growth and improvement

7. Be a competent, responsible role model who remembers the bigger picture

Your words and actions carry more weight now. Be deliberate.

Demonstrate competence by:

  • Continuously building knowledge and skills in your domain
  • Admitting what you know and don't know
  • Maintaining high standards in your work
  • Being reliable and following through on commitments

Act responsibly by:

  • Taking ownership of problems and their solutions
  • Stepping up in emergencies and difficult situations
  • Creating a calm, productive environment for your team
  • Making decisions and accepting accountability for outcomes

Remember the bigger picture by:

  • Considering business context and user needs in technical decisions
  • Balancing short-term gains with long-term sustainability
  • Anticipating future challenges and planning accordingly
  • Optimizing for maintainability and ease of decommissioning

8. Use your influence to level up individuals, groups, and catalyze change

Understand that you have a perspective, that your context is not the universal context, and that your opinions and knowledge are specific to you.

Advise individuals through:

  • Mentoring relationships
  • Thoughtful code and design reviews
  • Constructive feedback and peer evaluations

Teach and coach to build skills:

  • Pair programming and shadowing
  • Creating learning paths and documentation
  • Developing classes and workshops

Provide guardrails to ensure safety and quality:

  • Establishing best practices and coding standards
  • Implementing code review processes
  • Creating change management procedures

Create opportunities for growth:

  • Delegating challenging tasks
  • Sponsoring colleagues for high-visibility projects
  • Recognizing and amplifying others' contributions

Scale your influence to groups by:

  • Giving tech talks and writing articles
  • Creating documentation and FAQs
  • Establishing mentorship programs

Catalyze organizational change through:

  • Implementing processes and automation
  • Advocating for cultural shifts
  • Building frameworks that outlast your direct involvement

Last updated:

Report Issue