2. They can write code all-day
“Two roads dived in a wood, and
I took the one less traveled by,
And that has made all the difference.”
— Robert Frost, The road not taken
There comes a moment in every engineer’s career where the question looms large. Do you want to tread the path of Staff developer, fulfilling the stereotype of the asocial but brilliant nerd, or do you want to turn to the dark side(at least in many engineers’ heads) and move towards a more indirect way of making an impact by managing people who solve problems instead?
Most often, people make these decisions based on what their strengths are- are you a better communicator? You are sorted into the school of management. Great at writing code and solving icky issues? Opinionated about technical debt and passionate about architecture? Off you go into the staff/technical architect path.
However, from what I have seen, in order to make a true impact — either as IC or manager, there are some basic capabilities and requirements that are common to both. Hopefully, this article will dispel some of the myths surrounding these roles.
On the contrary, the most effective staff engineers I have had the pleasure of working with are extremely able communicators. They are able to quickly assess a problem and explain it to the most and least technical stakeholders with equal ease across the board.
This requires some special skills to zoom in to the actual problem, communicating about low-level implementation details with engineers, and being able to provide solutions, while being able to zoom out abstract away the details and providing a low down on the problem space, effort, and impact to senior management.
I would argue that a staff-level engineer would probably need a whole array of tools in their communication toolkit and will need to keep working on it to truly and effectively lead their organizations and space.
Staff engineers are the most valuable technical resources available in the company’s arsenal and most often, these engineers are required to solve the big, icky challenges. Be it solving fundamental framework issues, or creating a roadmap to increase developer productivity and happiness, and staff engineers are often tasked with solving technical challenges on an org-wide scale.
This involves various stages such as analysis, design and implementation and often has implications across multiple teams and domains in the org. While some issues are a solitary effort, most of these items require working with a team of engineers to oversee the implementation of the solution, and further coordination with multiple teams to communicate and roll it out.
This means that if you are planning to choose the staff path because you hate meetings, I hate to break it to you, being staff is as much about teamwork and coordination as it is about technical challenges.
This is only a half myth. While it is true that staff devs do not have a direct responsibility to coach, lead and help someone through their career aspirations, it is also true that they are the biggest influencers of Engineering Culture within their organisation. Staff engineers, with their years of experience and strong opinionated stance on how things have to be built, are closely watched, adored, and emulated by the juniors. Staff build the framework of engineering practices, tools, and techniques which are used by the whole org and build up the next generation of engineering leadership.
Staff engineers are the biggest influencers of Tech culture in their organisation.
The best staff engineers I have had the privilege of witnessing in close quarters, have taken a keen interest in coaching and grooming more junior developers, often employing Socratic methods to question a particular implementation or a decision, teaching juniors as much by explaining their decisions as by actually building a solution. They constantly push the bar and hold the engineers and management accountable to high standards.
Engineering managers and staff engineers are two important pillars that build, maintain, and groom the tech culture in an organisation. While a staff engineer leans much more heavily on the implementation, I think they do so much more than that.
Being aware of all the ways in which they can influence the culture and roadmap in an organization can help them be mindful of the type of skills they need and help them develop and work on them to maximise their impact.