Taro Logo
29

Mid Level to Senior Promotion - What should I keep in mind?

Profile picture
Senior Software Engineer at Grab2 years ago

I am trying to get promoted to Lead Software Engineer, which relates to an E5 level at Meta, if I am not wrong. I have seen several engineers in my organisation coast at the current level I am.

I wanted to understand if there are some key things I should be doing in order to perform at a Tech Lead level, so that I am promoted to one as well. This would be a bit long question, but please bear with me.

Following are some of the things highlighted in a few discussions:

  1. Should have demonstrated complex backend system designs - How do I create this opportunity to build a complex system for myself? Often, the projects we are a part of don't require complex solutions.
  2. Have a very strong code quality
  3. Mentor other engineers - I started having 1:1s with Junior engineers on how to grow. Have not been doing this with Senior Engineers, but I try to jump in calls with them whenever they need some help. Often, the credit goes hidden, and sometimes it does bother me, but not sure if there is some way around it. What are your thoughts?
  4. Handling production outages and incidents - Trying to be on top of it. Recently, have been putting out short term fixes, but alongside working on some libraries to fix it in an extensible way and have a larger impact with other teams as well. Sometimes, having visibility for my work in other teams seems to be difficult, but trying my way around this. If there is something you can recommend, that would be great.
  5. Should I mention in my skip levels that this is something I am targeting for myself? - Right now, my focus is to try to uplift the code quality, work on larger designs (a question mentioned wrt this), trying to uplift the team (I have created a channel where I share stuff that can help the team upskill, brief nuggets of information on how to write good code etc. Doing this almost twice a week for around 2 months now), trying to mentor engineers within the team.

Another aspect is that my team would be getting changed soon due to organisational requirements. Given that, How do I make sure I am on the right trajectory to getting promoted ? (One thing on top of my mind is that I would be asking for junior engineers whom I can work with and try uplifting, alongside asking for opportunities/projects that would have large visibility and impact.)

Do you have any other advice for me?

1.7K
8

Discussion

(8 comments)
  • 9
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    Thanks for sharing all this context! There's a lot to cover here, so I'll go through point-by-point with a separate response for each. Let's get started!

    #1 - Working On More Complex Systems

    • I think the main "revelation" I go through with most mid-level and early senior engineers is that projects aren't binary. It's not like they come to you and they are either complex or simple.
    • Every project can be evolved with its complexity. So many senior and staff-level projects I've seen started off really simple and were evolved to be very complex and to have massive impact.

    Here are the resources I recommend covering this topic more in-depth:

  • 10
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    2 years ago

    #2 - Having Very Strong Code Quality

    • For a big company like Grab, my challenge to you is: How do you truly know that your code is working at scale?
      • At Meta, this made me realize that writing functional code isn't enough: Logging is very important as well, and is effectively a part of writing quality code.
      • Logging lets you prove that you code is truly high-quality.
    • Growing to L5 is also not only about your own code quality but that of others. Are you inspiring others to have stellar code as well? One of the most straightforward ways to do this is through code review.
      • Almost all strong L5+ engineers I've worked with (>95%) reviewed more commits than they wrote.

    Here are the resources I recommend covering this topic more in-depth:

  • 5
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    #3 - Mentoring Other Engineers

    • Make sure that your manager knows that you're mentoring these engineers. If your mentees report to a different manager, that manager should know as well.
    • The important thing when it comes to mentorship credit is their growth rate. If you're having a bunch of 1:1s with a mentee and they get the exact same rating as before in their next performance review cycle after 6-12 months, you clearly need to improve as a mentor and don't deserve much credit.
    • Getting credit in general requires good visibility on work being done. Your junior engineer mentees should be sharing their wins as publicly as possible, so that you can get some of the credit for helping them create those wins. I cover this more in-depth in one of the linked resources below.

    Here are the resources I recommend covering this topic more in-depth:

  • 6
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    #4 - Handling Production Outages And Incidents

    • My main piece of feedback here is to truly understand the impact behind a production event. How many users did it affect? Did it hit revenue?
      • If you don't have the logging to truly understand the impact of a prod event, you can get great impact by adding it. At Grab's scale, the infra around understanding/measures these events is absolutely critical.
    • For really tricky issues, you should create a detailed write-up for them. So at Meta, we called these prod events "SEVs", and we would create this write-up in the "post-mortem" phase. They're great for learning and building up visibility on your wins and skills. Senior/Staff engineers at Meta did these write-ups all the time.

    Here are the resources I recommend covering this topic more in-depth:

  • 6
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    #5 - Talking To Your Skip

    • I don't think it hurts to let your skip know you're targeting this promo, but I would just temper expectations as a skip manager is generally fairly disconnected from a senior promotion.
    • The important thing to get from your skip is what they believe the biggest problems in your org are. Solving those would make your promotion case very compelling.

    Here are the resources I recommend covering this topic more in-depth:

  • 5
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    #6 - Staying On Track For Promo After A Reorg

    • Reorgs are rough, especially if you change managers.
      • If your manager is going to stay the same, I wouldn't worry too much though.
    • I think a big part of growing past senior is consistency, which manifests as owning certain features/workstreams for a long period of time and going really deep with them. If you have long-term projects like these, make sure you're able to see them through, even after the reorg.
    • Another important thing to do is make sure you have as much down in writing as possible when it comes to your growth. The main document here is the expectations plan you craft with your manager to set milestones to hit to show that you're truly operating at the next level. Having things written down means that it's easily portable - In particular, you can just share your existing docs with your new manager and bring them up to speed quickly on what you're looking for.

    Here are the resources I recommend covering this topic more in-depth:

  • 13
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    #7 - Final Advice

    • I said a lot, and I've noticed that a lot of engineers who haven't reached a Meta E5-equivalent level can get overwhelmed by all the boxes they have to check to get to that next level.
    • I heavily recommend focusing on just 1 thing at a time. Pick 1 thing you want to get amazing at, and then spend the next 2-3 months going deep on that. This is a big reason why I split up my response into 7 parts, so that everyone can take all this advice in 1 step at a time and come back later to focus on the next step when they feel ready.
      • Example 1: Let's say you want to go deep on mentorship. Put a lot of effort into seeding the agendas of all your mentee 1:1s beforehand and crafting growth plans for them that you then run by their manager. Have crystal clear visions for how each of them will grow across the next 3-6 months.
      • Example 2: Let's say you want to go deep on fixing production events. Put yourself onto literally every production event for your team - If you aren't able to contribute to the fix/triaging, just be there to observe and take notes. If your oncall rotation isn't too stressful, volunteer aggressively to fill in other engineers' shifts if they aren't able to make their rotation due to PTO or something.
    • Your career isn't a race. As long as you feel like you're getting a little better every month or so, you should be happy. A clear way to see that is by getting new types of feedback.

    For a good catch-all resource on what it means to be a strong tech lead, check out my in-depth video here on how I became an acting tech lead within ~1 month after switching into Robinhood from Meta.

  • 7
    Profile picture
    Senior Software Engineer [OP]
    Grab
    2 years ago

    Thanks for all the advice, Alex! This has been really detailed and helpful. I will make action items for myself based on the same.

    Would come back to update this thread in case of any further questions. Hopefully, this would serve as a reference point for other engineers as well.