As a software engineer and software manager, I have worked closely with staff engineers on large strategic projects. They have responsibilities that are disparate from leading contributor roles. Here are my top recognized attributes.
The staff engineer is recognized as a leader. The staff software engineer continues to grow in their role; they become the storytellers within the teams and organizations. They market a brand, continuing to improve their craft, skillset, and lead projects. They have obtained a title that matches the designation.
Have a default bias toward action. When problems and friction forms in the systems and codebases they are associated with, they move forward not by just observing but acting and correcting the observation without asking for permission. They self-authorize to experiment and improve the systems.
Staff engineers are free electrons. Staff engineers have slack time to launch experiments to find solutions across teams. Sometimes they detail presentations about the current system’s pain points. They highlight how technical actions can reduce or eliminate tension. They are held accountable for the holistic results and delivery of the products they serve.
Have an impact on the systems they lead. Staff engineers are looked up to by other engineers in teams. Staff engineers guide and mentor these engineers. Their influence is not just technical contributions; they grow other developers. And these staff engineers listen and learn from others, especially novel ideas from junior engineers. With excellent soft skills, they turn good teams into great teams.
They collaborate outside with other engineers. They don’t reinvent the wheel every time. When they face new challenging problems, they first look for an existing solution. If found, they utilize and expand the approach, so it is applied exponentially. They collaborate with others to form unified solutions that can scale in the organization.
Steer the business away from disastrous decisions. These engineers are held to a standard of creative solutions and delivery. When the time comes to define technical feasibility, if the business is going down the path of continuous short term patching and mounting technical debt, they speak up. For those systems that may not survive long, they balance genuinely maintainable systems and delivery.
And also make the business find unrealized potential. For the impossibly difficult technical feasibility projects, they recommend alternatives and find larger initiatives to improve the customer and the system’s longevity. They combine technologies, find opportunities for delivery, and balance skillsets with key results while keeping it interesting for the engineers. They advocate for systemic change.
Their decisions have an impact. For the systems they design with teams, they influence the organization’s critical product decisions. Understanding their impact is essential for both engineering and the business. They create the engineering brand of the organization and evangelize it to the community.
Staff Engineers set the contribution track. For initiatives related to engineering brand, toolchains, and ease of contribution, they scale discipline in part with principal engineers. Forming tests, decision documents, and showing the way are vital to being a reliable staff engineer.
As with principal engineers, they run initiatives. From aiming to reduce developer friction, moving to a new architecture, incident reduction, and velocity and magnitude improvement projects, they are the first engineers engaged to have a broad impact. Involved in interview loops, they advocate for systemic change and operate inside and outside the teams to achieve results.
Align with business and leadership. With initiatives they work on and their first step toward a direction, they realize that alignment is crucial. They understand that their perspective is one of many in the organization and work towards momentum toward a shared vision.
Are more than just tech leads. While “tech lead” is a common designation, organizations have crafted the staff engineer title to signal to others that this is an individual contributor with extraordinary broad impact and influence. They balance emotive and technical excellence, and they are recognized for it.
Top comments (5)
Hi Doug,
Thanks for writing. I've also read the "What's an Principal Engineer Anyway" article, but I'm having a hard time to make the distinction between the two. Could you elaborate the key difference between those two roles?
You're welcome!
I can only speak of my experiences. My answer may vary to others. Comparing the two roles contains attributes that are similar - but are different on a maturity scale. In the companies that had these designations, the Principal was senior to Staff on the rubric. This included areas of mentorship, autonomy, and technical impact. Additionally, it was most likely that the Principal engineer's expectations include influencing broadly, outside the organization - in communities, recruiting, and patent/invention generation.
If you are interested in diving deeper, a new book on the staff engineer that will tackle its core attributes. In the brief summary, Will Larson noted differences between the two roles mentioned, so I predict it will be a great resource for further comparison.
My background is mechanical engineering. Not a software engineer, nor financial engineer. I do engineering for manufacturing plant specialty in food industry.
And this article confused me.
Why?
Author here. I am happy to answer any questions you have about the post.