Instructor profile photo
Jacob Samuelson

Uplimit co-founder and Chief Product Officer

How to land an ML job: Advice from engineers at Meta, Google Brain, and SAP

July 15th, 2022
Share on Twitter
Share on Linkedin

Uplimit (formerly CoRise) co-founder Jake Samuelson recently sat down with three outstanding ML engineers — Kaushik Rangadurai, Shalvi Mahajan, and Frank Chen — to get their advice on landing a job in machine learning. Kaushik is a technical leader at Meta, and has over 10 years of experience building AI-driven products at companies like LinkedIn and Google. Shalvi is an AI scientist at SAP, and has experience as a data scientist, a software engineer, and project manager. Frank is a founding engineer at Uplimit and started his career at Coursera, where he was the first engineering hire and built much of the platform’s original core infrastructure.

The following excerpts from Jake’s conversation with Kaushik, Shalvi, and Frank have been edited and condensed for clarity.


Jake: Let’s start with a really practical question. Kaushik, you’ve been a hiring manager at some big companies. You get a lot of resumes. What are you looking for? What advice do you have for someone who’s working on their resume and thinking about how to position themselves?

Kaushik: In terms of skills, I’m looking for a practical knowledge of applying ML to build products. That’s something I think you can’t get from books — you have to have some hands-on experience. I’m not necessarily looking for someone to have experience with specific tools or techniques, because those things are constantly changing. It’s more that I want to know about the approach they took. Why did they use the tools they did, and what did they do when things got tricky or didn’t work the first time?

Don’t get me wrong, I think having a good theoretical foundation is definitely necessary. But I would say you should spend as much time as you can solving real problems. That’s how you learn which techniques work best for which use cases, and it will help you get a better understanding of the theoretical side, too.

Jake: That’s great. Any other advice on preparing for new roles, or preparing for interviews?

Kaushik: In terms of preparing for interviews, other than brushing up on the fundamentals, my advice would be to brainstorm a couple of problems that are relevant to the company you're interviewing with and do some background research on the common techniques to solve those problems. Like if you’re interviewing at YouTube, I would try to go in with some thoughts on their recommendation systems. What are the issues you're seeing in YouTube recommendations right now? Where would you start if you were tasked with making improvements in those areas?

Jake: Frank, let’s jump over to you. You've worked at big companies like Google, and also some smaller startups like Coursera and now Uplimit. What advice do you have for people who are weighing those two types of opportunities and trying to figure out what’s going to be the best fit for them and their career?

Frank: I think everyone should experience both at some point. They’re just really different. At a big company, you’re probably going to be working on one tiny piece of a huge, complex system. Iteration cycles are going to be pretty long. You might encounter more bureaucracy, and there might be a long approval process to actually get your things to launch. But there’s also going to be a lot of impact from your work just because of the sheer scale of the products that these companies put out.

On the other hand, in a startup, you get to build a lot more things a lot faster. Everyone’s just trying to get to product-market fit and get to cash-flow positive. It's a lot more hectic, but it can be a lot of fun, too. To anyone who’s still in school, I would recommend finding a couple of internships, one at a big company and one at a startup. That will help you figure out which is a better fit for your personality and the lifestyle you want to have.

Jake: We have a couple of questions from the audience. One is on the idea of starter projects. What advice do you have for people to get hands-on experience if they’re not currently in an ML role? I know that can be hard if you don’t have access to data or you’re just not sure which direction to go in to make sure you’re working on something with real-world relevance.

Shalvi: Kaggle is a great resource. They have real datasets and challenges based on real-world problems. Their GitHub repository has a lot of documentation and explanation of the way they suggest approaching those problems.

Kaushik: I’d also recommend looking at some existing papers that have been published in this field, and then digging into the datasets that were used to write those papers. The advantage of doing that is you'll have a good baseline for the metrics the paper is evaluating.

Frank: One thing I’d add is that if you want to be in machine learning, and you have more of a software engineering background but not much data science or machine learning experience, you can look for adjacent roles in software engineering. There’s a lot of software engineering involved in getting machine learning systems into production, and that’s just about being a good software engineer rather than knowing a lot of math or having published papers or anything like that. Getting into one of those adjacent roles is a really good way to learn without, say, having to go back to school.

Jake:. I'm going to take another audience question that feels related to what Frank just said. The question is — is machine learning a young person's game? When you look around, you do see a lot more young people in this field. Can any of you share an example of someone who’s transitioned to ML later in their career?

Frank: I don’t think it’s a young person’s game. You do have to keep up with new developments, because the whole field is changing so fast, but that’s going to be true regardless of your age or where you are in your career. You just have to budget time for it. Almost all or the researchers I know spend a lot of time reading and reimplementing papers. I think that just becomes part of your job description.

Jake: We have a few people who are asking about kind of a day in the life. What do ML engineers actually do? Maybe you all could give some examples of what you spend all your time doing day to day.

Shalvi: I can give a couple of examples from my work. I’m mostly focused on validating machine learning use cases. So it starts with looking at a problem and deciding, do we need machine learning to solve this, or not? If the answer’s yes, we do some brainstorming on how to approach the problem and build a model for it. Once the model is finalized, we do some business value assessment and evaluate some performance metrics, and then we decide whether we’re actually going to put the model into production. It’s actually a lot of brainstorming sessions and meetings in addition to the research and development pieces.

Jake: ML is getting to be a really diverse field with lots sub-specialties. Which areas of do you think are maybe a little easier to get started with? Obviously you should follow your interests, but practically speaking, are there areas that are more straightforward or easier to get into for someone who’s totally new to this?

Kaushik: It’s a good question. One thing to be aware of is that right now, there’s a lot of convergence across different fields within ML. The techniques you’re going to learn and use in one field are often going to be applicable to a lot of other areas. So from a skills or knowledge perspective, you don’t have to pick a direction right away.

That said, I do think search is one of the easier fields to get started in. The basics of search are pretty straightforward. You start by working with short queries that are easily understandable. You can see the results, debug things, etc.

Jake: That’s good to know. And I’ll put in a plug here for the two-course search track on Uplimit. If you are looking to get started in search that’s a great place to go. One last question. As you all have said, so much is happening in machine learning right now. How do you keep up with trends and new developments? What are some of the ways you manage your time or remind yourself to pick your head up and look around, so to speak, especially when you’re dealing with the day-to-day demands of a full-time job?

Shalvi: I really like subscribing to certain news alerts, especially for big companies like Google or Meta. That makes it easy to read about what’s going on in technology. I’m also connected with SAP blogs, and working with Uplimit has been great because our courses really are focused on recent developments and tools. And then it helps that a lot of this is in my job description. I need to read papers and stay focused on new technology to do my job.

Jake: Frank, how about you? You always have a couple of different monitors up, I feel like you’re tracking what’s out there all the time.

Frank: A lot of it is following Twitter and things like that. Finding researchers who you admire and who post or repost interesting things. I couldn't possibly go into their archives and read all of their papers, but I find that just skimming what other people are saying can be really helpful. That way I have an awareness of what’s out there, and when a certain type of problem comes up in my work, I’ve already thought a little bit about how that new research or those new tools might help me solve it.

Stay in the loop

Get our latest articles, courses and discounts in your inbox.

Keep in touch for updates, discounts, and new courses.

Questions? Ask us anything at hello@uplimit.com

© 2021-2024 Uplimit