30

Why would a senior make themselves replaceable?

Profile picture
Mid-Level Software Engineer [E4] at Meta2 years ago

I've seen advices here in Taro that seniors should make themselves very much replaceable so that when this senior is away, someone is able to cover for them and the team could do well, which makes sense.

I thought the fact that people found the advice to be helpful, shows that making yourself replaceable isn't something that's very intuitive the first time. Like if someone didn't read the advice, they probably wouldn't have optimized for that.

I'm not quite senior yet but just curious to understand the situation (and people) better - was this thinking assumes that the amount of scope is in hyper-growth phase? Are there cases where it isn't really applicable / optimal for them to do so (and so they don't make themselves replaceable, and still do well) - then wouldn't they just continue doing it and we can't really blame them? I feel it's rare that people would change their behavior unless they really understand why.

1.5K
3

Discussion

(3 comments)
  • 36
    Profile picture
    Tech Lead, Senior Software Engineer [L5] at Google
    2 years ago

    Great question! I love how you've thought about this, and I agree, this seem counter-intuitive.

    I have a few reasons I believe why this making themselves "replaceable" is good for the senior engineer / tech lead. I'll refer to this from a tech lead perspective as not every senior engineer is a lead and has to deal with this problem.

    In short, in making themselves replaceable, senior engineers / tech leads are able to lead less stressful lives, get rewarded in performance reviews for building great teams, and lastly helps them find more impactful problems to work on for staff promotion.

    Redundancy

    The most practical and immediate reason is what you've mentioned - create redundancy within the team. Having other subject matter experts in the team means the lead isn't always being called into every important issue that occur. This is obviously good for the team, as single of point of failure is a big operational risk.

    But for the lead, not being that single point of failure significantly reduces stress. This is especially true when the team has oncall - you don't want to be woken up at 3am or having to bring your work laptop on your vacation because you are the only person who's able to address urgent issues. In other words, building redundancy in the team helps leads to actually take their mind off work to recharge and avoid burning out.

    Scale yourself = Leveling up the team

    Inserting oneself into every decision for the team (e.g. micromanaging) is exhausting and ineffective.

    This is because when you are the only one making decisions, the team doesn't get better, as your teammates don't learn how to make the decision on their own.

    It may even initially feel really good, as you feel huge sense of power and responsibility. But it gets really annoying really quick when you have to babysit everyone. And there's no one to blame as you didn't spend the effort to teach everyone how to make their own decisions.

    Ultimately, a gate keeper who doesn't share their secrets slows down their team.

    I experienced this when I first became a lead. I was quite nit-picky during code reviews and thought "upholding the standard" was what I should be doing. This turned out to be quite wrong, as this slowed down my team's delivery, and because I wasn't teaching them how to think about code quality effectively. When I decided to instead help everyone understand how how to think about code quality and start thinking as code owners together, it massively boosted the team's productivity as we simply spent less cycles on the code review process. It not only did not decrease our code quality but instead helped our code base become better as people proactively sought ways to improve the code!

    Part of the responsibility of a lead is to level up the team, especially empowering them with the knowledge and giving them agency to make their own decisions. A team that's full of independent folks who can make decisions on their own are extremely "agile" and effective. Building this type of team reflects very positively on the performance ratings of a senior engineer / tech lead, not mention how personally satisfying it is to work with independent people with whom you can bounce ideas off of each other.

    Free-ing yourself to do greater things

    One of the biggest reasons, IMO, to make oneself replaceable, is so we can tackle bigger and more important problems. One of the hardest part of becoming a staff engineer from senior senior is to figure out what are the biggest strategic issues that your business faces, and then to work on these problems. You won't have the bandwidth to find problems, much less solve them, if you are constantly having to make tactical decisions every day. You need to be able trust that your team is able to run without your oversight while you dig into more important, long term issues.

    You asked whether it's a good idea to make yourself replaceable is only good when the company is in a "hyper-growth phase". While I have not been part of a declining or static organization, I would argue that it's even more important to ask in these situation whether there are problems that aren't being solved today that, if solved, would dramatically positively impact the organization.

    So, don't make yourself replaceable just so you can relax and chill; make yourself replaceable, so you can do even greater things!

    If there are other folks with thoughts on this topic, I would love to hear others' perspectives too!

  • 16
    Profile picture
    Principal Director at Capgemini
    2 years ago

    It's completely normal to think this is counterintuitive, especially when job security is top of mind during a down economy like now or in an extremely competitive environment with stack ranking at play.

    A couple nuances to first address:

    I don't think most people "optimize" for this, but rather it's a byproduct of having a mentality where you are always looking to maximize the impact you have over the long term. If you are actively hunting for ways to scale your impact, especially if you have goals of moving into leadership positions, it will naturally lead to finding ways to optimize the overall workforce of the team, department, org, and eventually company as take on more senior positions.

    Taking away this talent development in your management toolkit is severely limiting and playing the game in hard mode to say the least. At Director+ level, I'd say conservatively it's at least 30% of the mandate. With that in mind, if your leadership is competent, any ICs that are "bottlenecks / gatekeepers" will get flagged as a risk since it causes the issues Kuan mentioned and even in the best case scenario, it will be career limiting since you're missing a core skill needed at the higher levels.

    A final thought I'd like to bring forward. Developing others and helping them accelerate their career growth gains a massive amount of social capital and goodwill. Your co-workers are way more likely to advocate for you later on and will want to keep working with you even if you switch companies. One important thing I've gotten evaluated on during leadership roles, is how much of a "talent magnet" you are (I look for this when interviewing others starting at the Manager level). Having a tremendous amount of goodwill built up with others directly contributes towards that, plus the tech community is a very small world!

  • 5
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    a year ago

    Kuan and Casey beautifully covered why it's actually in your best incentive to make yourself replaceable: Empowering others is truly one of those win-win situations where both you and your teammates are better off. This was a massive part of my path growing to senior and then staff.

    I don't have much more to add to their excellent answers, so I'll share some resources on how you can make yourself more replaceable and share knowledge more effectively: