2

What to do if you get stuck in understanding the existing codebase?

Profile picture
Mid-Level Software Engineer [E4] at Metaa year ago

Hi community,

I am a recently joined M/L engineer at Meta and working in ads domain. I am stuck for last few weeks in verifying a change. Essentially, it involves multiple systems built, request routing and looking for the expected changes. Tried reaching out to T/Ls and internal users. Even politely asked team / outside to ramp me up in the domain but nobody responded positively. They all give me pointers to some internal documentation or workplace group to ask questions. I feel I am really stuck. I have regular updates meeting on Monday.

Here's 2 things about how the updates work:

  1. I am making some progress everyday but things are moving very slow which is making me frustrated.
  2. When sharing updates, everybody shares the impact and good followups where I only share one incremental step like looked at the logging, traffic is low so can't determine the magnitude of the change.

Anyone willing to share their experiences?

2.4K
4

Discussion

(4 comments)
  • 7
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    a year ago

    As someone who joined Meta as an anxious E4, I have a lot of thoughts here (and I hope you'll learn from my mistakes):

    1. Ask more questions - Meta is a pretty fast-moving and competitive company, especially after the layoffs. This means asking someone to ramp you up is not likely to work as it's a big time commitment and the impact is one-of (I assume you're looking for a 1 on 1 meeting to pair program or something). You mentioned that your teammates gave you Workplace groups, which is a great start. Use those groups to ask all the questions you need. I didn't leverage Workplace nearly enough when I started, and that led to my onboarding being very painful and stilted. Meta engineers are much more likely to respond to Workplace posts as that's multiplicative impact, and the activity is tracked in Team Insights. Here's a good 7-minute video on how to ask good questions: The Breakdown Of A Good Technical Question
    2. Leverage your manager - Again, this is something I messed up with. I had crippling imposter syndrome after joining Meta, so I wasn't requesting the help I needed. Spending multiple weeks on simply verifying a change is way too long, even for an E3. If you are working on a high-priority project (which you should be as you need to get to E5), you have to move fast and escalate as necessary. If you have spent hours upon hours banging your head against the wall + asked dozens of beautifully crafted Workplace questions and you are still stuck, tell your manager so they can carve out the necessary resources for you (e.g. ask a TL to give you 1 hour of their time). Here's a great video about how to approach the EM relationship: You Should Be Vulnerable With Your Manager

    You mentioned that you're "recently joined" as well, so I highly recommend going through our onboarding masterclass too (you can just listen to it like a podcast if you're short on time): [Masterclass] How To Succeed At A New Team Or Company As A Software Engineer

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

    2 additional notes:

    • Learn to fish - Right now, you are focused on getting help, and it can be easy to forget that you should also be building up the skill of efficiently requesting help in the future. This discussion breaks that down in-depth: "How can I become more independent and better at unblocking myself with tricky technical issues?"
    • Build social capital - At Meta, everyone is extremely protective of their time (and PSC result). This means that you have to make it worth it for people to help you. Whenever you receive help (e.g. someone gives you a very helpful response on your Workplace post), strive to show your gratitude and add value to them. Here's some ideas:
      • DM them in Work Chat with a long, heartfelt personal thanks
      • DM their EM in Work Chat with that thanks and explicitly tell them that you hope this person gets credit for this in PSC (especially if they have been helping you out multiple times)
      • Treat them to a nice meal or coffee - If you're in MPK, you can take them to Blue Bottle or Philz
      • Review their diffs to help unblock them
      • Answer any questions they may have in Workplace and other avenues

    To really expand on the 2nd point, we gave a masterclass on that too: [Masterclass] How To Build Deep Relationships Quickly In Tech

  • 1
    Profile picture
    Mid-Level Software Engineer [E4] [OP]
    Meta
    a year ago

    Thank you Alex for quick responses. Your points are all helpful. Building relationship is something I lack currently and being a remote employee makes it little difficult.

    Sure. I will work on the suggestions. Good to see a platform where people help each other!

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

    Ah yeah, remote work makes things trickier. I know I suggested a mountain of resources already, but if you're able to get through those and have additional time, you can check this out: [Taro Top 10] Growing Fast With Remote Work In Tech

    First step's first though: Ask some great questions into Workplace. If you don't get any responses on those, you can ask your manager/TL for feedback on how you could have structured the question better.

    Feel free to ask additional questions into Taro as well as you run into new problems. I'm very familiar with Meta's culture (obviously), so I'm always happy to help and suggest very concrete action items.