I'm grateful to have received a return offer as a backend engineer. However, my long-term career goal is to transition into a machine learning engineering role within the company.
From my experience, there's 2 avenues for SWE's to explore ML
ML Platform: Big tech companies like Uber have custom infra for training/testing/deploying ML models and need software engineers to build this. This would be a great segue point to shadow and work with ML teams
ML Engineering/Data Infra: ML especially in big tech companies have ML flows that are super segregated. This means that the folks who do feature engineering, and the folks who do training, and the folks responsible for deploying and monitoring are all distinct teams (unlike smaller companies where fewer people are responsible for the end-to-end pipeline).
So, ML Engineering in big tech tends to refer to the more deploying and integrating ML models side. This is like 80% SWE and 20% ML. and the ML is generally domain understanding and it would make sense to try and transition to those teams
The core idea is to get a SWE role in an ML team. The core ML part (modeling) is only 10% of what ML teams do and generally in big tech these roles are handled by data scientists generally with advanced degrees. But since you're interested in the Engineering part it would make sense to look for SWE roles in the ML team. This transition should be similar to any other transition in SWE. Once you're there then I would look into upskilling. You might find that you dont need to be an ML wizard with expertise in PyTorch to be an MLE
Cant attach pics here but check out this https://youtu.be/Z3-HddkYgyI?si=WX7BKREIe2zzoOlU&t=103 to get an idea of what is the breakdown of the roles. MLE seems to be basically "full stack" ML. But notice how the deploy and predict is handled by SWEs. So my suggestion is to look into roles at Uber for the deploy/predict part of the ML workflow
For more context on the ML at Uber, check out this post I made on Linkedin breaking down Uber's ML platform.
I highly recommend this course: https://www.ml.school/home
This course teaches you everything you need to know about ML that is not about training ML models, but rather ML in production. I am currently working through that course and it's awesome
Feel free to DM on Slack (@Sai B) if you want to chat more about ML
Congrats on the return offer! Here's a great related discussion on how to pivot stacks: "How to transition from back-end development to distributed systems?"
Since you're at Uber, a top tier Big Tech company, this will be easier for you than 90% of others aspiring to do the same. I'm sure Uber is full of exciting MLE opportunities with a well-defined process to switch teams (especially if you're a high performer).
I like this thread about the MLE transition as well: "Is it worth transitioning to become a Machine Learning Engineer?"
While I understand that my immediate focus should be on excelling in my backend engineering role, I'm keen to explore how I can simultaneously build my skills in machine learning during my free time. Could you offer any advice or insights on balancing these two objectives effectively?
As someone who did a lot of side projects after work, my main advice is consistency. Turn it into a habit, similar to exercising. Instead of dropping 8 hours on a weekend to hack out a Tensorflow app, try to do 1-2 hours per day after work and keep your weekends free for social activities.
The way I've planned my transition is by using courses, currently, I'm focused on pure mathematics which is foundational for machine learning for this I'm using Khan Academy and TensorFlow as it is backed by Google, and have good updated code labs & courses to get a grasp of important machine learning concepts and use cases.