At most tech companies, you will reach senior software engineer, the career level for software engineers, in five to eight years. At that career level, you will no longer be required to work towards the next promotion, and being promoted beyond is exceptional rather than expected. Should you stay there, move into engineering management, or continue down the path of technical excellence to become a Stuff/Principal Engineer? What are the skills you need to develop to reach Staff engineers? Are technical abilities alone sufficient to reach and succeed in that role? How do most folks reach this role? What is your manager's role in helping you along the way? Will you enjoy being a Staff Engineer, or will you toil for years to achieve a role that does not suit you? Staff/Principal Engineer: leadership beyond the management track; let's take a pragmatic look.
One of the most common steps in defining titles when a company is hitting its growth stage is adding ‘Senior’ to the moniker of engineer. Still, soon enough, especially if retention is good and people stay on board for several years, companies realize they need more than just a 2 level engineering ladder. This is where titles like ‘principal’ or ‘staff’ engineer become part of the defined career ladder. However, principal engineering should not be considered a natural progression to senior engineering levels. It is an IC position that is on a different playing field as it involves competencies that no longer apply to only technical prowess. For an engineer to get to the Principal Engineer level, there need to be cross-organizational collaborative signals; there needs to be a clear understanding of architecture and design decisions that go far beyond the immediate technical area of expertise.
Loosen up. Be more flexible with the understanding that this new shift creates a new level of complexity for people. Show more professional empathy to everyone.
Interrogate your work: “Stop working for a second and think about the impact of the work that you’re doing. Is it glamour work that will get you noticed or busy work that won’t stand out? Keep a work diary and write down your big wins or when that co-worker makes you mad. Write down when your boss said, ‘Hey, you did well there.’ It’s cathartic, for sure. But you’re going to look back over those notes and be able to identify points that need your attention.”
Monitor microaggressions: “Microaggressions are some of the worst workplace discrimination anyone can experience. They’re extremely disruptive. I think managers get tripped up when they deal with a microaggression because they focus on the intention—like, why did someone do it?—when it’s really about stopping the action.”
Check yourself: “Marginalized folks will have a better chance at thriving in this hybrid setting if they work in environments where social baggage is identified and addressed. We all need to examine our implicit biases, so we don’t create more barriers for them.”
Intimidated? Wait it out: “Hard work brings us into contact with our limitations—and we don’t like to feel that, so we run away to a distraction. We shift our minds to an easier task, right? That’s because we have a low threshold for discomfort regarding intimidating work. When I hit writer’s block, I hang with it. It won’t kill you to sit with that feeling and see if you can work through it.”
Broadcast tiny victories: “Celebrating small wins is a huge deal. It doesn’t serve meaningful productivity for everyone to feel permanent like they are in a horrible existential debt—like they’ve got to do tons more work. Keep a visible list of things the team has done because it provides huge momentum and suggests that you’re all doing something right.”
Hill-climbing is a simple optimization algorithm. Imagine standing on a mountain somewhere and wanting to get to the top. You turn around in a circle, identify the highest nearby point, and then walk there. Once you get there, you turn around in a circle again, find the highest nearby point from your new location, and go there. If you keep doing this, you will get to the top of whatever mountain you are on. However, imagine you tried this on a foggy day. Because you can't see very far, you might reach the highest nearby point and later realize there was a much higher point just out of sight. Hill climbing cant solve every problem, but it is so effective that many companies struggle to take other approaches. This can be a consumer-oriented company struggling to support enterprise deals or a mature company struggling to compete with a smaller competitors' release cadence. It can even be that your current business is so valuable that it is hard to prioritize new business, even though the valuable business growth rate is trailing downwards. In the long-term, companies either learn to explore or fade away; this is not an ignorable challenge. Simply assigning a team that is mastered hill-climbing to do exploratory work is far from a sure thing, so many companies take a different approach. They find a couple of trusted individuals with broad skills, allocate some resources and check back a few months later to see what they have discovered. One of those engineers is often a Staff engineer or Principle.
This is why promoting any engineer to PE without clear skills in more than just ‘the code’ would be a disservice to the team and a bad signal for the rest of the organization as to what things management values when it comes to the non-manager career track. If you want to watch and see how the ‘brilliant jerk’ anecdote came to be, it is those promotions to senior IC titles based solely on code output and not all the value that inter-human skills can bring into getting large numbers of humans rowing in the same direction.
Provide feedback on the code review, focusing on empathy, clarity, and usefulness.
- Believe in what you are doing. Leave things better than found. Strive for excellence.
- Always stay optimistic and take baby steps.
- Many things are changing and facing big challenging times. You could do everything. Things are running under generally similar rules on every job—things like people management. Life is short.
- Learn things with a growth mindset. See different boundaries across companies. Keep learning, listen to people, and think about how things might need to change in 3-5 years. Are you a good listener? Do you understand the points made by others? Are you able to communicate ideas?
- Do you grow others around you? Do the broken systems and processes get cleaned up after you?
- Are you able to see around the corners and identify problems? Are you able to navigate broad, ambiguous problems?
- Can you effectively mediate between folks in an argument about tradeoffs or design? Can you derisk the execution of complex problems?
- Work on complex problems and be a magnet for them. Run towards fires to get rewarded – there is no shortage of them. The more ambiguous, challenging and remote the team, the better.
Create a distraction-free environment - Write this list down and check off the items as you go. Do this every time before you begin.
- Choose your location:
- Book a room on another floor or building: Focus room, small conference room.
- Out-of-the-way café, cafeteria, or library (Microsoft or public).
- Close the door to your office.
- Explicitly set expectations when learning from your office:
- Post a sign outside your closed door that reads, "I'm learning. Thanks for supporting me. Please send an email instead of knocking."
- Purchase Status Lights that work with Skype/Teams to let others know your online and in-person status availability at a glance. Options include: BusyLight, Blynclight, or DIY .
- Turn off all notifications on your computer, mobile phone and other electronic devices within earshot.
- Put your phone(s) on silent.
- Set a timer, if needed, and put it away.
- Clear your desk of unnecessary items.
- Make sure you have all you need to complete the task at hand.
- Use workday lulls to your advantage - Consider the hours at work when there are naturally fewer distractions.
- Shift your lunch break forward or back an hour, and use the regular lunch break to learn.
- Post-lunch hour
What Managers, Leaders, and Teams Can Do
Sprint Cycles - How long is your sprint cycle? Three weeks? or four weeks?
- Some months may be slower due to regional holidays, shipping schedules, etc. Do what CSEO’s EAS leadership does: Assign the last sprint cycle of December for learning.
- When you have an extra week in the quarter or cycle, designate that extra week to be a "Fix-It Hack Week" or a "Learn It Week."
- "You can do whatever you want; you can learn something, write a little tool, and fix something that has been bugging you in the product. You do whatever you want for a week [to improve work], and that is great.”
- Day of Learning – leadership designates one day per month for individual learning. That means no meetings, product, or service work is expected that day. Managers and teammates plan it into their work month to ensure all members have a chance to participate.
- The 31st Day - Every month (except Feb) has 30 days. Designate the 31st day to be a "Fix-It Hack Day" or "Learn It Day" (Daniel Commons)
- The 14th Day - "In previous teams, we supported a concept that 10% of your time should be spent on growth. So one day every two weeks was a no-work day, and you could do whatever you wanted to help you grow. Many spent the time partnering up with others on the team to work on projects outside their normal areas."
- The 5th Day - Every Friday, spend half-day learning (hacking, fixing, training, tinkering, etc.). Encourage your manager and peers to share their half-day learnings with everyone else at your next Team/All Hands meeting.
- Meetings - 5 mins and one slide are all you need to highlight who knows what.
- List anyone/everyone who recently attended a training, conference, presentation, or online course. Include keywords of what they learned.
Thinks about common mistakes and the following questions: How to meet evolving and changing requirements? Don't try to ever go to abstract or ambiguous explanations. How to drill to nested layers? Are you able to redirect roughly framed questions into a proper discussion? Don't try to be too protective over your territory or scope. Be open to ideas, and do not have a closed mindset. Some people are trying to protect themselves. See the bigger picture, admit that you are not perfect, listen for advice and appreciate the feedback. Be brave to say that it was not done well, making sense. One of the most critical competencies of a principal engineer is to become a force multiplier. This is a much more mature definition of ‘10x engineer’ than the Silicon Valley cargo cult likes to use. A PE does not produce 10x the features or fix 10x the tech debt tickets. A truly valuable PE makes their whole team better by advocating for best practices, gently reminding people of why the processes we have to exist, and helping the less experienced engineers find ways to ‘level up. A suitable PE can speak to technical aspects of the product, connect planned work to business strategy, make the company more successful, and, most importantly, have the interpersonal skills to influence others around them towards these goals. Create a study group or learning club - Never underestimate the power of your peers, especially when learning complex concepts or completing required training.
Invite others to join you in the learning. It could be a Brown Bag, which is a speaker, a webinar, or a video where you all bring lunch to eat while you listen and learn. For a course or certification, forming a study group enables you to divide the materials, share insights, and keep each other accountable, ensuring you'll understand the material and finish the course. Required training? Create the perfect social opportunity: Throw a Standards of Business Conduct (SBC)Viewing Party! You can expand the connections of your professional network, and you might even make a new friend in the process. Just don’t do it: “As a society, we’re dedicated to constant speed, acceleration, and productivity for its own sake. One practice I like is a ‘do nothing’ meditation where you attempt to stop doing anything at all for 10 minutes. The deeper point here? There’s a muscle to be trained to resist the urge to rush through things and get it all done because that’s not the path to a meaningful end.”