37

Software Engineer interested in ML - How would a transition work?

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

I've been working mostly as a Backend Engineer. I'm growing interest in ML. I have a few questions:

  • Will my SWE knowledge help me, or will it complement with ML? Or being MLE is a totally different/separate field?
  • Is there overlapping between ML and SW?
  • Would be recommended to do a Masters or Practice/Courses?
2.6K
4

Discussion

(4 comments)
  • 14
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    First, I recommend this fireside chat we did with Taro Premium community member Henry Prior where he talks about his experience growing as an MLE and covers some of the topics you mentioned. You might want to try connecting with him over Slack as well!

    Will my SWE knowledge help me, or will it complement with ML? Or being MLE is a totally different/separate field?

    It will definitely help you, especially at a Big Tech company like Meta where there's a lot of large company fundamentals that apply on pretty much any software team. Since you're an E5, I assume you have a lot of good instincts around project management, leadership, robust technical design, and much more that will continue paying massive career dividends if you were to switch.

    Is there overlapping between ML and SW?

    I'm not an MLE, but I assume a lot of technical fundamentals still apply as I talk about in this Q&A here.

    Would be recommended to do a Masters or Practice/Courses?

    I'm not too bullish on doing a Master's, but some online courses/side projects hacking shouldn't hurt. I wouldn't worry too much about outside learning though as you're at Meta, one of the world's best companies when it comes to software engineers exploring and learning new things. I know a couple SWEs who made the switch to MLE within Meta and did great! It's very awkward right now with the hiring freeze, but I'm pretty confident that will go away in a couple months. Regardless, I recommend telling your manager about these thoughts if you haven't already (assuming you have at least a decent relationship with them).

  • 14
    Profile picture
    Machine Learning Engineer
    2 years ago

    I have MLE experience here, so I'll try answering these

    Will my SWE knowledge help me, or will it complement with ML? Or being MLE is a totally different/separate field?

    Agreeing with Alex on this. It will definitely help. MLEs code too with python, SQL and sometimes using frameworks like pytorch, tensorflow. In simple terms, MLE role is some combination of Data, SWE and research. In the industry, MLEs work cross functionally with different teams to get the projects rolling; your SWE background will make it way easier to communicate with engineers when you need their assistance in setting up tooling.

    Is there overlapping between ML and SW?

    As far as coding is concerned, yes. Also at the end of the day, MLEs and SWEs solve problems; though they might use different tools to do so. For more information on the exact day to day, you can check out this thread- https://www.jointaro.com/question/vQKiTHNgGLB45cSUItKd/moving-to-aiml-from-web-development/

    Would be recommended to do a Masters or Practice/Courses?

    I did a masters degree and it helped me with the following:

    • learn how to learn new things on my own and keep up with research. This skill is useful on the job as an MLE as many times you'll need to get inspiration from research papers; understand the current landscape of how other companies solved similar problems; and implement some version of what you read. Note: MLEs serve different kinds of roles in different companies so I don't know how much this applies to MLEs at Meta.
    • technically understand the fundamentals of the field of machine learning.
    • when i joined my job, I could tie very technical machine learning details to real world projects and products; Note: this step took me years after my masters and starting a job to realize.
    • It helped me network with people with very different backgrounds and helped me understand how they think. (networking was especially important to me because I didn't study my undergrad in the united states)

    That said, I am not going to say a masters is always worth it. Some of my peers in my masters program would say it wasn't worth it. To make this decision yourself, you need to first set expectations of what you wish to receive from the program. Also, ask MULTIPLE people who have done a masters specializing in machine learning to see what they got out of the program. Then ask people who also haven't done their masters to see what they think.

    Also money matters - this can be a deal breaker

  • 9
    Profile picture
    Senior Engineer at Series B Startup
    2 years ago

    I'd like to get a better sense of what you're looking for in ML and what's been growing your interests. Are there any specific areas of ML that you'd particularly like to work in? What kinds of problems are interesting when it comes to ML? e.g. infrastructure for large-scale training, hyperparameter optimization, building new architectures, explainability/interpretability, applying ML knowledge to find new business problems to solve (not exhaustive by any means).

    ML is growing rapidly, and MLE is starting to be as nondescript as general SWE in terms of required skills, day-to-day, etc.

    Your backend experience will absolutely be helpful, a lot of the most difficult problems in the space are about execution rather than novel ideas.

  • 2
    Profile picture
    Guiding ML Engineers through their career journey. ex-Head of ML, ex-Meta Staff SWE, ex-Adobe
    16 days ago

    Historically, many SWEs came from Data Science. They had a pretty steep learning curve to pick up coding. You are going to have coding down and have a steeper learning curve learning ML, honestly yours is the easier path.

    I am working on a course about transitioning to MLE career that should be available on Taro in Q1 2025, but the answer to your question about Masters is: usually no.

    I have onboarded hundreds of MLEs, the ones coming out of even the best masters (and PhD) programs cannot do anything real world requires of them. It helps get your foundations right, but honestly the industry evolves fast enough to where it is hard for traditional schooling to keep up.

    If you don't have a masters, it may help you clear the education requirement, but if you have one in another field there is no reason for it.

    Best MLEs learn by building and use papers/courses/chatgpt/forums/... to fill in the gaps. I can explain overfitting 50 times, but you will never be a good MLE until you overfit a model and see the results.

    Other than knowledge, the main paradigm shift for MLEs is that there is no unit test. There is a probabilistic assessment that your system will work under certain conditions.

    Also you live with near-certainty that something better will come out tomorrow and the kids coming into the field will know the relevant tech better than you, so learning is not an afterthought but a main feature. But you have to balance true learning with jumping on every hype bandwagon. Fun, right?