How can I pick up other tech stacks more quickly at Meta?

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

I'm primarily on the back-end, but I've been put on a lot of other stacks. I've worked with www and Bloks and now I need to pick up native Android to debug a deep link issue.

I'm having a hard time with the Android issue. I took a long time just setting up the environment, choosing between VSCode, Android Studio, and OnDemand. I'm now working with adb, which I don't really understand as it's completely new to me. There's not a lot of documentation for my problem area, and it's been rough.

More broadly speaking, how can I do better in these situations and pick up new stacks faster?



  • Alex Chiou
    Tech Lead @ Robinhood, Meta, Course Hero
    a year ago
    • Find time with a person to help you. Given your situation, finding a technically fluent E3 in your problem space can be effective, as there's a good incentive for them to help you (they can claim impact onboarding an E4). The documentation at Meta is too poor for full self-learning.
    • Zooming out, hold your manager accountable for finding the proper people resources when they put you on a problem that is in a scope completely outside of your domain. Back-end to mobile is a huge jump in particular - Just figuring that out alone is going to be very rough.
    • E4 is not the level where I would expect them to be able to pick up an entirely different stack with no hand-holding after a short period of time. That's more of an expectation of E5 and definitely at E6. I think for E4, it's expected to need a decent amount of help in the beginning - The important thing is to ask for it.
    • For a similar question where I go over learning more holistically: "What’s the most effective way to switch domains in tech?"
  • Rahul Pandey
    Meta, Pinterest, Kosei
    10 months ago
    1. Start running the code ASAP. Add a log statement to observe when it gets hit and the state of the variables at that point. DON'T get stuck reading documentation about the language or codebase.
    2. Intentionally break things and understand how they break. Instead of incrementing something by one, increment it by two. Can you explain the result of that change?
    3. Land a low-effort code change quickly. Fix a spelling error, modify a comment, or add a unit test -- huge confidence boost, and will save you any surprises when you're making a "real" change later.
  • Igor Podkhodov
    Senior Manager at Zoox; Meta, Snap, Google
    10 months ago

    Alex and Rahul mentioned really great points here. I would only add that there are a lot of great resources on Android and I personally learned it within couple months completely from the scratch just building my own apps.

    And these days Google itself provides free and easy-to-follow codelabs that can help new developers to learn Android within a couple of weeks. E.g. I would recommend starting from this basic one.

  • Cat Chen
    Meta, Robinhood, Baidu
    8 months ago

    The Meta way is to get your hands dirty without fully understanding everything. They don't expect you to read all the documents and understand all of them before making a diff. Figure out the minimum set of documents you need to read and send your first diff as early as possible. Keep making mistakes and learning from them.