85

What’s the most effective way to switch domains in tech?

Profile picture
Senior Software Engineer [E5] at Meta2 years ago

Before I was at Meta, I worked at a networking company for 10+ years. It was very different from Meta as a massive consumer web company. On top of the domain differences, the culture is also very different between these 2 companies.

I'm working on ML at Meta, which is something I'm pretty new to. As a senior engineer who wants to make an impact quickly and make a push for staff, how can I effectively make this domain switch to hit the ground running fast?

18.5K
5

Discussion

(5 comments)
  • 104
    Profile picture
    Meta, Robinhood, Baidu
    2 years ago

    Feel extremely comfortable failing and losing face. That's a key trait to learn quickly in a domain you don't know much about. Do that as early as possible.

    If there's a question you are too afraid to ask in your first 90 days because "would that make me sound stupid", think about what happens after 12 months. It's likely that you still don't know much about that subject and now you feel horrified about someone figuring that out. That will negatively impact your capability to make an impact. Looking back from that future the only rationale choice is to ask that stupid question and make sure you learn well from the answer even if it's very uncomfortable.

    This is based on the observation I had from Meta Bootcampers I mentored. I've seen a staff engineer who was a deep expert in one subject but wasn't comfortable and proactive enough when ramping up to random subjects in the Bootcamp, and almost got fired from the lack of progress in Bootcamp. I've seen a manager (with no prior iOS experience) picked a simple Apple Watch bug, followed the wiki to set up XCode (and other Meta-specific iOS development environments), and fixed the bug in a week.

    The best Meta engineers I saw with this trait of fast learning usually had prior experience as early engineers (sometimes CTOs) of successful startups. In hindsight that makes sense. In an early-stage startup environment, if you fail to learn something quickly, build a prototype tonight, and demo it to the investor tomorrow morning because the situation requires that, your company is dead in the water. Losing face is the last thing to worry about.

    Lose the pride of "I'm a senior engineer". Be a noob.

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

    First, I recommend this: "How can I write great code faster?". This applies to every software engineer at any stage in learning a tech stack, but the advice is still very applicable (and even more urgent/important) here.

    That being said, here are my thoughts on onboarding into a new tech stack:

    • Meta is all about incentives. It's crucial to understand what engineers are looking for when they approach any interaction. For your situation in particular, you have a lot of power as an E5 as you can create an incentive for more junior engineers to help you ramp up. "I helped a senior engineer on my team reach 100% productivity quickly" is a PSC gem for the people axis.
    • Specifically, find a strong E4 who's been on the team for a while to help you quickly understand the codebase. This can be built into a strong, longer-term relationship (i.e. recurring 1 on 1 meetings) as you absorb the codebase mastery from this engineer and you can teach them more senior engineer fundamentals.
    • Use the "Lego Model" to understand what to learn and master first. There are going to be some components that are extremely important and common across execution.
    • In the end, all tech frameworks and languages are sort of the same. Try to map the new domain's components into your existing understanding you have of your prior system.
    • Use your fundamentals, particularly around shipping quality, scalable software. You're on a team where this matters a lot.

    Related resources:

  • 11
    Profile picture
    Senior Leadership @ Meta | Mentor | Coach | Tech Advisor
    8 months ago

    Switching domains in tech, especially for a senior engineer aiming for rapid impact and advancement, involves strategic learning and networking, adapting to new cultural norms, and leveraging your existing skills in new ways.

    There are few areas that you should focus and if you have 30-60-90 day plan that will help you to stay focused and have a tangible progress towards your goals. One more thing to add here, have you thought how are you going to measure your success? This is very crucial step so you can have a start and end point of your ramping up and onboarding.

    Here are few tips to consider:

    • Focused Learning: Prioritize learning the most relevant concepts, tools, and frameworks that are critical for your role at Meta. Online courses, bootcamps, and internal knowledge sharing groups could be quite effective. Read code, then wrote code, experiment.
    • Project-based Learning: Engage in hands-on projects that are similar to your work at Meta. This will help you apply theoretical knowledge to practical scenarios, enhancing your learning.
    • Mentorship: Seek out mentors within Meta who are experienced in ML. They can provide guidance, feedback, and insider knowledge that can accelerate your learning curve. Find two mentors, one internal in team and one external outside of the team. First will focus mostly on the onboarding, tech and projects and the other one will focus on career growth.
    • Identify Transferable Skills: Lean in your soft skills. Skills like problem-solving, project management, and effective communication are highly transferable. Reflect on how your past experiences can benefit your current role.
    • Apply Your Domain Knowledge: Even if the domain is different, your experience in networking could provide unique insights into how ML algorithms can be optimized for better performance or innovative uses within Meta’s infrastructure.
    • Build a Network: Connect with other teams and individuals within Meta who work on or are interested in ML. This can provide opportunities to collaborate on interdisciplinary projects, further enriching your experience and exposure.
    • Feedback Loops: Establish regular feedback sessions with your peers and manager. This will help you understand how well you're adapting and where you can improve, both technically and culturally.
  • 7
    Profile picture
    Thoughtful Tarodactyl
    Taro Community
    9 months ago

    Curious to see how this aged. Did you find success after your switch to ML?

    • 1
      Profile picture
      Tech Lead @ Robinhood, Meta, Course Hero
      7 months ago

      I think they might have been hit by the first wave of Meta layoffs :(