Roger Steve Ruiz is a software engineer.
Reading time: 7 mins

Leadership styles of staff engineers

Written on 14 Aug 2022 (Link to this post)
management

When moving up in an individual contributor track, you will move from senior exclusively-technical roles into a hybrid of technical & leadership roles. These roles are usually fall under the staff+ engineering path which is a compliment to the engineering manager path.

Table of contents

At the companies I’ve worked at throughout my career, I’ve had the pleasure of finding myself in more & more senior positions. I attribute this to my curiosity for trying to best understand how to help those around me. I try not to focus on just the technical aspects of problem solving, but getting other people involved to help solve the problem holistically.

Growing technically as an engineer is important, but there are numerous other non-technical aspects that influence how software is built at more senior levels. These levels fall under the staff+ IC path. These levels are all about increasing independence at managing systems of growing complexity.

What is the staff+ IC path?

There are lots of things engineers will need to be knowledgeable about as they move up the ladder. As you move into more senior in the individual contributor (IC) roles, you will need to focus on the what needs to be done rather than the how this gets done. The expected scope gets more & more fuzzy. This means that people are more a part of the system rather than just focusing on the machinery of the system. As an engineer, you’re expected to solve problems not just build systems. As scope grows in complexity, people become more a part of the system. This is why it’s important for staff+ engineers to also have lived-experience, big-picture thinking, and interpersonal skills beyond just having core technical skills.

Staff level

At this level, you will work with people. This means that rather than asked to just implement something on your own you or with help, you’ll be helping other people implement things. This might look like leading an existing team that is dependent on other teams for a project. At this level, you aren’t creating a team but you should start considering what the building blocks are of a great team. Think of this team as a sub-team that’s a part of something bigger. All of the objectives for your team is set by what the larger team needs. There is a lot of mentoring that goes on at this level.

Senior staff level

At this level, you’re moving on to building a team. This means that you’re going to be leading an independent project. An independent project is something that has it’s own customers. There is a lot more effort in the what needs to be done here. The actual inputs you get are that from your customers. You will need to figure out how to implement what your customers need.

Principal level

At this level, you will be co-leading a larger organization. This means that you will be constructing teams and understanding the business aspects of what you’re solving. This is where you’ll have influence over different things across the organization and where you’ll need to work closely with others at this level to strategically implement and achieve goals for teams.

Distinguished level & beyond

At this level, nothing is out of scope. At other levels of seniority, you can draw borders around responsibilities you have and other teams have. As a distinguished+ engineer, you’ll be responsible for figuring out how to solve an issue. You will be driving strategy and initiate programs.

The disciplines for engineers at the staff+ levels

As you move from being a senior engineer to a staff+ engineer, you’ll encounter more and more specific disciplines that are expected of you. As you move up the staff+ engineering roles, you’ll find that these disciplines will also be needed more in collaboration with each other. These disciplines may not be directly part of your job description. Don’t consider each of these as something that you need to be passionate about or equally good at. Your preferences for these may also change over time as well.

If you’re bootstrapping a team, you will find yourself working across all of these disciplines until you build a team of people that focus on these skills. Every team needs leadership in these four types. You’ll need to know which roles you’re able to step into and advocate from those perspectives.

Core technical skills

Core technical skills here are defined by what a typical practitioner of the role works on. For instance if you’re a senior front-end engineer moving into a staff role, your core technical skills will should all the client-side languages and frameworks you’ll be using along with additional components such knowledge of building & implementing APIs or 508-compliance and possibly infrastructure or the deployment of client-side code. This set of skills will grow as you move up in seniority. You’ll have to adapt to changes in the industry and technologies as well. Becoming specialized in these core technical skills alone though won’t help you sustain this level. You will need to have at least one of the other disciplines as a passion as well.

Just knowing a lot of technical skills will not let you bridge the gaps that are created when people are brought into a system. So being exclusively focused on growing your technical skills alone will not help you in staff+ roles. It’s also possible to branch out your technical skills further to become a bridge or communicator, but that still stifles you if you don’t have any of the other disciplines below.

Product management skills

Product management skills are related to being a strategic leader. You help shape the direction of the product or the company. You will be focused on what needs to be done and why it needs to be done. With this skill, it’s important that you maintain a narrative of all of this. For instance, for this discipline you will be focused on how do we continually ship a feature in waves along with coming up with the milestones needed for a feature’s completeness.

You’ll also focus on defining the goals as well. These can include something like make deployments faster in order to increase the release cycle of software.

Project management skills

Project management skills are related to the practical nature of being able to achieve goals. The main skill at play here is removing chaos and tracking the tasks. You’ll have to identify what is blocked and make sure it gets unblocked. This requires operational leadership and communication both internally and externally to your team.

People management as a skill

People management skills are related to becoming a mentor to the company. You are the kind of person that other ICs turn to for help and advice. Because you’ll be interacting directly with people, you have the ability to turn a random group of people into a team. Also, you’ll be dealing directly with people problems and challenges.

Experience as a skill

With experience, you will need to be the person who injects a bit of care into other’s ideas. Experience matters because you are more likely to have a level-head around situations that you’ve seen before. For example, more junior engineers may be unprepared for how to deal with an incident. But if you have this experience, you will be less likely to lose your cool around incidents because you’ve been a part of them before. Experienced engineers will also have more safety engineering than product engineering. This is important because rather than just focusing on how things should work you will have a bigger focused on how things might fail the more experience you have. Experience will also come from lived-experience and not just technical expertise.

Conclusion

Thanks for reading this far. I hope this has helped you understand the required disciplines that you’ll need to move forward beyond being a senior engineer. For me personally, I fall under having lived-experience along with core technical skills and product management. I am someone who tries to think of problems holistically and ensure that the people helping solve the problem understand the goals as well as the trade-offs to the solutions. It’s also important to ensure that everyone on the team feels like they’re contributing effectively. The job of a staff+ engineer is to try their best to lead from behind rather than dictate how things should be implemented.


This post was written by a human & not by artificial intelligence (AI) tools. I don't have anything against AI but I am interested in differenciating content created by people versus machines. To find out more about the Not by AI badge, please click it.


If you enjoyed this post, please explore other posts by the topics listed below.

management