Podcast — 27 min
At Remote, our engineering team is responsible for creating a streamlined user experience for all those who use the global HR platform. Our global team of engineers helps to shape the future of work by addressing technical challenges and making product and process improvements.
If you’re passionate about the work that we do and want to pursue an engineering career, particularly, the role of a Staff Engineer — you’re in the right place.
In this article, we’re going to give you an overview of the Staff Engineer role, what it entails, and our set of guiding principles that can help you succeed at Remote and perhaps in your career too!
You might already be aware that compared to other engineering roles that have a clear-cut definition and path, the term “Staff Engineer” is highly under-documented in the engineering community. This has been changing in recent years with industry articles and publications defining what a Staff Engineer’s path actually looks like.
Every company has a different definition of the role and responsibilities of a Staff Engineer. That’s why the expectations of a Staff Engineer in an organization need to be clearly defined and written down so that they can be more efficient (and confident) in their role.
The community has been doing study cases on Staff and Principal Engineers from big companies. Some even tried to group their routines into four common archetypes of Staff Engineering roles. As Remote is still small, most archetypes don’t perfectly fit our needs yet. So, instead, we have defined certain “mantras” that every Staff Engineer should strive for regardless of their working routine.
Remote’s engineering department currently has around 200 engineers and over 15 Staff Engineers. We aim to cover each product area with a combination of at least one frontend Staff Engineer and one backend Staff Engineer. Their day-to-day responsibilities depend on the product area’s requirements. We explain the role of a Staff Engineer at Remote in further depth below.
As a Staff Engineer, your number one mission is to help Remote grow by providing excellent technical solutions and empowering others to do the same. However, depending on your team/vertical’s current needs, your path to accomplish that mission might be very different in comparison to roles with other Staff Engineering teams.
At Remote, we have an Engineering Rulebook to help all our engineers be more aligned. This article serves as an extension that helps Staff Engineers make better decisions in their day-to-day work.
Here is a snapshot of the guidance we give to Remote Staff Engineers, broken down by key areas of the discipline:
As a Staff Engineer, you are not a manager, but you are officially a leader, a role model, and an ambassador for Remote’s values.
As a leader, you influence others. Be deliberate with your words and actions, as they carry more weight than a senior engineer.
Be calm, create calm. When a problem exists, you need to make it smaller, not bigger. This doesn’t mean you should ignore it. It means you should understand it but contain and focus your efforts on the solution instead.
You are expected to be the long-term owner of the engineering side of an assigned domain/area.
You also have to work with people managers when it comes to performance management: they might ask for your advice or direct participation in complex situations. You are also a mentor, with a focus on mentoring senior engineers who would like to grow further in their careers.
Not all Staff Engineers are alike. You have the freedom to set your own path and figure out how to multiply your impact by leading with your strengths. It might sound scary but remember: you are not alone in this journey.
It’s okay to feel overwhelmed by a complex project. That’s why we trusted you to solve it. We know that you have the expertise to solve it.
Being a Staff Engineer is not a shortcut to bypassing “ceremonies”. You’ll still need to explain your ideas like anyone else. Even the best engineer can have the worst idea ever. It’s okay. Don’t take it personally.
Your ideas might be brilliant, but if nobody understands your plan of action, then it’s just another… idea in the void. The better you are at being understood, the easier your job will be.
Foster relationships not only with the engineering team but with your stakeholders too. Find buddies and practice the art of explaining concepts to people who don’t work in tech without making their eyes glaze over. Be mindful to adapt your communication style to your audience.
Keeping relationships outside your home vertical will help you to be informed about problems/movements further afield, which might help you to lead or support cross-vertical initiatives.
Engineers and team leaders who are working on specific features rely on you when facing complex decisions. Be there for them and coordinate with other verticals/departments to ensure bigger parts fit well together.
Write things down. Be clear and opinionated. Don’t let a misunderstanding become a conflict. In case of doubt, over-communicate. “Wrong gets corrected, vague sticks around.”
Keep fostering the mindset of “Product Engineering”. As a role model, you must excel at this. Ask questions, go beyond the “what” to understand the “why,” and improve the “how”.
You are expected to have an in-depth understanding of the business: processes, people, and how engineering supports them. Part of your job is to notice problems and opportunities, evaluate what needs attention, and ensure you’re working on the right things. Go help your Product Manager and Engineering Manager prioritize things.
Be transparent and proactive with the technical challenges and direction of the product, bringing awareness to potential concerns as early as possible.
Any technical problem is ultimately a business problem too. From an obvious bug to a slow pipeline, it’s on us (engineering) to explain the cost and the value behind these constraints to our stakeholders and include them in the roadmap.
Your job is not to come up with all (or even necessarily any!) of the aspects of the technical direction, but to be a facilitator that condenses multiple ideas (from the top or the bottom). Your job is to ensure there is an agreed, well-understood path forward.
In any solution, expect problems to arise. Make plans that assume there will be changes in direction, people going on holiday, falling sick, or other unavailable dependencies. Although “default to action” is an attractive methodology, you must not neglect the associated risks.
Sometimes, the best way to unblock projects is to be everyone’s rubber duck. Recap what needs to happen. Acknowledge the unknown points. Clarify the backlog and organizational support. Connect people. Be Glue.
A senior might wait for “someone” to fix something in no man’s land. As a Staff Engineer, you are the “someone” who needs to fix it, or (even better) drive the ones who will fix it and help them grow.
Foster collective ownership and conversations among engineering team members about the “health” of the codebase and technical direction.
Empower engineers, regardless of their team or seniority, to bring their ideas and technical contributions to the table.
Shift from a reactive mindset to a proactive one. In other words, you are expected to look at the bigger picture, forecast paths, and find ways to multiply your impact.
Your area of scope is bigger, but your time is still the same. You won’t have the time to solve everything. You’ll need to pick your battles and give other people the opportunity to grow.
Your manager will give you a broad perspective about what surrounds you. Work closely with them to better understand how and where you can best spend your time and maximize your impact.
Being heads down in code probably is no longer your primary job. You must tackle technical challenges, but that doesn’t necessarily mean you have to tackle all the coding challenges. Whenever possible, delegate code challenges to others. Be their buddy, be a code reviewer, and let them grow.
If you are currently looking for a way to make an impact, here are a few quotes from “The Staff Engineer’s Path” book by Tanya Reilly to inspire you:
“You need to be busy enough that you give other people space to grow too.”
“If you always have time to answer all the questions and take on all the tricky problems, nobody else gets to experience doing that.”
“If you did an amazing job on something that wasn’t a good use of your time, you didn’t actually do an amazing job.”
This article was our first step in aligning our Staff Engineers’ expectations and bringing them together. For more insights into the role of a Staff Engineer, read stories from the community.
Book: The Staff Engineer’s Path by Tanya Reilly — Her book was my biggest influence to write this article and spread the word. Thank you so much, Tanya!
Book: The Staff Engineer by Will Larson — All his guides and some interviews are available online.
Subscribe to receive the latest
Remote blog posts and updates in your inbox.