The Individual Contributor Guide For Developers

Posted on May 11, 2022, by Sven Peters

It is great to see that a lot of technology companies offer developers more than just one way to grow their careers. Not every engineer wants to be a people manager as their next step. In most organizations, those developers can stay on the individual contributor path. But when engineers grow beyond the senior developer role, the lines become very blurry. Every company has almost its own definition of what a Staff, Principal, and Distinguished Engineer is doing; and larger organizations are even adding a “Fellow Engineer” on top of it. But those engineers have one thing in common: They’re all leaders, but not people's managers. Engineering managers are doing regular 1:1s and performance reviews. Individual contributors, on the other hand, are providing technical leadership and mentorship to engineers. Depending on the size of the company, those three roles often get combined into one or two different roles.

The only important thing is that your company should offer a non-manager career path for their best engineering talent that doesn’t want to be a people leader.

Staff Engineer

A Staff Engineer is often not working for a specific team. They help software teams with design and architecture decisions, making sure that quality standards are kept. Therefore, they regularly keep an eye on open pull requests, new incoming issues, and other engineering metrics. In general, Staff Engineers are making sure that software development teams can move forward and are not technically blocked. Since those engineers are regularly communicating across the whole engineering organization, they can help single team members make informed decisions in alignment with the strategic plans. 

Even though most Staff Engineers are stepping back from the day-to-day coding, they are still spending 20% - 40% of their time writing code. They’re building prototypes, integrating new developer tools, and testing new technologies, staying away from working on the critical path. A lot of time is also spent teaching and mentoring junior and senior engineers. That’s why this individual contributor role requires good communication and people skills.

Staff Engineer - Role description

  • Helps software teams with design and architecture decisions.
  • Define and control engineering metrics for improving product health and code maintainability.
  • Teach, mentor, grow, and provide advice to other domain experts and individual contributors across several teams.
  • Solves technical problems of the highest scope, complexity, and ambiguity.
  • Drive innovation efforts with the goal of improving the product and the development process.
  • Ensures that individual team goals are aligned across several teams.
  • Keeps the connection to other departments to ensure company goals are aligned with individual engineering team goals.
  • Knowledgeable in all specialities practised within the engineering organisation.

Principal Engineer

Principal engineers are operating on a broader organizational level. Like Staff Engineers, they help with healthy engineering practices, mentor developers, contribute to architectural design decisions, and are still writing code (but it’s getting less). In general, those engineers are often bridging between product goals and technical challenges. They work directly with product, legal, and other parts of the organization to make sure that the technology decisions go along with the broader product vision.

Principal Engineers are responsible for communicating product goals and aligning those with the engineering teams' work. Therefore, they're often no any more involved in current technology problems, but instead thinking more about tomorrow's challenges.

Principal Engineer - Role description

  • Collaborates and makes proposals across several teams on their engineering work.
  • Helps team members make informed decisions in alignment with the product strategic plans.
  • Exposes technology and organizational needs across their engineering department.
  • Teach, mentor, grow, and provide advice to other domain experts, individual contributors, across several teams.
  • Plan improvements and features in concert with product managers and other stakeholder.
  • Proposes initial technical implementations which support architectural changes for solving scaling and performance problems.
  • Guides conversations to remove blockers and encourage collaboration across teams.
  • Attain a measurable impact on the work of sub-department teams.
  • Interact with customers and other external stakeholders as a consultant and spokesperson.

Distinguished Engineer

Distinguished engineers are often bridging development with the business. They work closely with other stakeholders and executive teams to keep aligned with management and avoid frustration on both sides. In larger organizations, this individual contributor can represent a specific technology area like security, UI, or data privacy, but they are always looking across different problem areas. Even in those huge tech companies like Google and Comcast, there are often just a few distinguished engineers.

Part of the role is also to represent the company at external conferences, panels, or press events for being seen as a thought leader in the market. Inside the company, they’re technology leaders with a wide spread of knowledge, helping engineering teams to experiment and innovate.

Distinguished Engineer - Role Description

  • Advocates for improvements to product quality, security, and performance.
  • Advices the leadership team on technical directions and improvements.
  • Solve technical problems of the highest scope and complexity for the entire organization.
  • Works across multiple problem areas and brings together stakeholder from different departments.
  • Teach, mentor, grow, and provide advice to other domain experts, individual contributors, across several teams.
  • Constantly monitors the industry for trends and innovation to take advantage of technology and business opportunities.
  • Exert significant influence the companies long-term goals and execution.
  • Drive innovation across engineering with a willingness to experiment.
  • Represent the company and its values in public communication in all aspects of the software development lifecycle.
  • Interact with customers and other external stakeholders as a consultant and spokesperson for critical projects and aspects of the technical architecture.

Do you want to grow your career on the individual contributor track? Sign up for Manfred and let us help you building your career.

Posted on May 11, 2022, by Sven Peters
Beam me up!