5 free resources to help you get a machine learning job

Daniel Bourke outlines five strategies for landing an ML job: learn in public and share your progress, build original projects beyond courses, prototype solutions before applying, polish your resume and portfolio, and practice interviews systematically. He cites his own hiring within nine months of posting an AI master's degree online, and Riley Goodside's prompt-engineering work landing a custom role at Scale AI.
Chapters
So you're after a machine learning job? Well, you've come to the right place. By the end of this video, we'll have gone through 5 of the best resources out there for how to get a machine learning job. Let's start with the short version. Number 1: Acquire machine learning skills and make machine learning jobs come to you by learning in public. Number 2: You don't need another online course. Build your own machine learning project and share it. Number 3: Start the machine learning job before you have it. Number 4: Make and polish your machine learning resume and apply to machine Machine Learning Jobs. Ignore this if you haven't done the previous 3. Number 5: While applying for machine learning jobs, practice for machine learning interviews. I am a robot. Yes, I know. Together we are robots. I'm not a robot. I'm a unicorn. As a bonus, you can read the book So Good They Can't Ignore You by Cal Newport. Or you can skip reading it like I did because I found it pretty bland and just adhere to the title. Time for the longer version. It's no secret machine learning and artificial intelligence, or AI, are making their way into almost every industry. And note, I use the terms machine learning and AI interchangeably, 'cause I'm lazy. Hacker News is a popular website for hackers, and people often post job posts on there. Over the last 5 years, the number or the percentage of job posts with the term AI has been rising steadily. Despite this rise in jobs, there's a funny concept in the tech world that getting a job and being good at the job are two completely separate skills. So in light of this, let's break getting a machine learning job into two steps. Number one, getting machine learning skills, the technical skills such as coding, software engineering, data handling, wrangling, etc. And number two, marketing your machine learning skills. These are often referred to as non-technical skills but are still very important. Communication, interviewing, portfolio creation, etc., etc. The first lets you do the second, and the second allows you to get a job. Now, there's no shortage of resources on step 1, especially my own beginner-friendly courses: The Complete Data Science and Machine Learning Bootcamp, TensorFlow for Deep Learning, and PyTorch for Deep Learning. But getting machine learning skills aside, how do you take care of step 2: marketing your machine learning skills and getting a machine learning job? Of course, you can do step 2 whilst doing step 1. Get skills and market them at the same time. And that's what the following resources, or at least the first 3, trend towards. Number 1: Make machine learning jobs come to you by learning in public. One of my favorite ever articles is Learn in Public by Swyx. It applies to any kind of learning, including machine learning. And it's how I got my first job in machine learning. I created my own AI master's degree and posted online about what I was learning. Most of the time, I had no idea what I was talking about. But pretty soon, the fundamental law of the internet kicked in and people started pointing out where I was wrong. Some of them even pointed out how I could improve. They started offering me resources to get better. I went from not knowing how to code and driving Uber on the weekends to working as a machine learning engineer in 9 months. Learning in public is one of the best ways to invert the internet and make machine learning jobs come to you. Inverting the internet means instead of applying to hundreds of machine learning jobs where thousands of other people like you will apply, the jobs come to you. This isn't saying never to apply to machine learning jobs. It's saying at least be open to the possibility of machine learning jobs coming to you.
You have to be open-minded to the possibilities that I can do this. Once you shut your mind down to the possibility that it can be achieved, there's no way it can happen.
Number 2, you don't need another course. Build your own project. And share it. I learned to code via online courses, then I got a job writing machine learning code, and now I teach online courses for people to write machine learning code. Circle of life. You know the drill. Learn anything, anywhere. Eventually you outgrow the courses. Once you've learned the foundations of a certain topic, online courses can actually slow you down more than help you. Some things don't even have courses. This is where the value is. Specific knowledge versus general knowledge. Courses are great for the foundations, for the general knowledge of machine learning. However, Specific knowledge is knowledge that can't be taught. It can only be figured out through trial and error, through experimentation, through play, through sharing your ideas and having other people pick them apart, a.k.a. learning in public. Eugene Yang calls this type of learning going off the happy path. You see, courses do much of the work for you. If you write the code from the course, it should work. What many leave out, not mine, are all the errors you run into when trying to build something of your own. If you want to stand out when going for a job, acquire specific machine learning knowledge through building or trying things of your own. A fantastic example of this is Riley Goodside tweeting prompt engineering, which is a technique to get a language model to do a specific task you're after, hacks he'd find through various experiments working with OpenAI's GPT-3. 8 months later, He was hired by Scale AI, a billion-dollar company, to be their staff prompt engineer, a new role much debated that they created just for Riley. Riley learned specific knowledge related to language models, so he was the person for the job. However, this concept of specific knowledge isn't specific to language models. The beauty of specific knowledge is you can learn it for anything you're interested in. Hell, I'm replicating Tesla's machine learning pipeline for my own project. Number 3. Be proactive and start the job before you have it. This is one of the main pieces of advice I tell students who come to me asking how to get a job in machine learning. But how, Daniel? How can I possibly start a job before I have it? Find something you're interested in. You have interests, right? Then see how machine learning can be applied to it. If it can, and it likely can, try it out and see what you find. But Daniel, what if I don't know how to apply machine learning? To my interests. That's the whole thing you're trying to figure out. Maybe it can, maybe it can't. Of course, you will know unless you try it. Mm, okay. Does this actually work? It worked for me the other day. I built a small prototype of a machine learning app I'd like to exist for a website I like. I turned a series of talks and lectures into transcripts and then made them searchable with text, and I sent it off to one of the people who takes care of the website. They replied saying they liked it and would I potentially like to turn it into a commercial venture. I'm not even looking for a machine learning job, and now I've been offered a machine learning job that previously didn't exist, all because I started the job before I had it. You could repeat this process for almost anything you're interested in. Have a favorite podcast you listen to? Transcribe their entire catalog with machine learning and send them an app built with Gradio and hosted on Hugging Face. Making the talks searchable. Have an open-source company you'd like to work for? Find their GitHub repository and go to their open issues and start trying to fix them by committing code. Even though it seems like the big tech companies have a fairly good grasp of machine learning, and I mean they do, there are far more companies across almost every industry that are still thinking about how they could use machine learning in their business. And now because of this, every machine learning job is going to have skills specific to it. So you might as well start doing the thing you enjoy doing and develop skills for that specific thing and eventually get paid for that specific thing. Number 4: Got skills? Market them with a polished machine learning resume. Now remember, the next 2 points don't mean as much if you haven't gone through the first 3. The reason I say to go through the first 3 points first before creating a resume is because you have to actually have something to put on your resume. And before we continue, I must confess, I find resumes boring. When I'm hiring, I much rather see what people have done. For example, links to blog posts with project write-ups or GitHub repositories with code and demos of their own machine learning projects. So I'm not a good resource for how to write a good machine learning resume, but Chip Huen's excellent "What We Look For in a Resume" is. And two things to note. Every machine learning company hires differently, so trying to optimize a machine learning resume for all companies is not ideal. More specifically, small machine learning companies hire differently to larger machine learning companies. Small companies tend to look for specific generalists—an oxymoron—or in other words, people who have a very niche set of skills but can do many things if needed. Larger companies tend to want people who are very good at very specific things. For example, machine learning roles requiring PhDs. Now, of course, there are exceptions to the rules, and Chip's Machine Learning Resume Guide talks about how she tries to hire for her small machine learning company, Claypot AI. But I think the principles can be applied to almost any machine learning job. Chip breaks down what she looks for in a machine learning resume into: Number 1, we look for demonstrated expertise, not keywords. So many modern resumes hack for keywords such as Jupyter Notebook or skills related to machine learning. Git, Amazon Web Services, insert your skill here. This may pass a filtering system, but is boring to read. Better to show a few things of what you've done related to the job or not, rather than telling them about everything you've done. Number 2, we look for people who get things done. Have you built something of your own? Have you shared your work? Have you started the job before you had it? Number 3, we look for unique perspectives. Unique perspectives come from specific knowledge. If you've only done the same courses as everyone else and the same projects, how can you share a unique perspective? Number 4, we care about impact, not meaningless metrics. If you've worked on something in a machine learning business before, how did it influence the business? Be as specific as possible. If you worked on your own project, In other words, prior to you getting a machine learning job, how did you improve your own project over time? Again, be as specific as possible. You can see elaborations on each of these in Chip's Machine Learning Resume Guide. And I'd also highly recommend checking out the tips section. Number 5, ready to interview? Practice, practice, practice. So you've been through all of the previous steps. You've got a polished machine learning resume and a polished machine learning portfolio and are applying for machine learning jobs left, right, and center. Time to start practicing for interviews. Now, in an ideal world, you'd skip the machine learning interviews and go straight to getting hired. But let's assume that's not the case. What should you do? I'd read Chip Huen's— the same Chip from the previous point— phenomenal Introduction to Machine Learning Interviews book. The book comes from the angle of Chip being a machine learning job candidate at over a dozen big companies and startups and receiving machine learning job offers from companies such as Google, NVIDIA, Snap, Netflix, and more. And as Chip Bean, an interviewer hiring for machine learning jobs at NVIDIA and Snorkel AI. Some of my favorite chapters include: Working in Research vs. Working in Production. What technical skills do you need for machine learning roles? What non-technical skills do you need for machine learning roles? What type of questions do you get asked in machine learning job interviews? The book includes 200+ example questions. And my top, top favorite: Do I need a PhD to work in machine learning? The short answer? No. The book goes wide and deep. Don't feel bad if you look at it and think, wow, how could one person know all of this? Here's another secret. They can't. That's why it's written in a book so it can be referenced when you need. A good way to approach the book would be if you're serious about preparing for machine learning interviews, practice by reading it 30 minutes per day. And then select one topic per week to spend an hour writing everything you know about it. You could turn these writing sessions into readable blog posts for other people to see. After 3 months, you'll have a collection of resources you can show others, potentially someone interviewing you for your future machine learning job. Going through all of these, you might have noticed that there's a trend. People generally like seeing what you've done. Don't be afraid to admit when you don't know something. Explain how you might approach figuring it out. Because here's another secret: even senior engineers use Stack Overflow and Google simple things. The benefit of having machine learning projects you've already done is showing someone you can figure shit out.
More from Daniel

Small Language Models (SLMs) Are the Future: Fine-Tuning AI That Runs on Your iPhone

Introducing Sunny - A MedGemma-Powered Skin Health Tracking App (Kaggle Competition Entry)

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 4 - Comparing the results

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 3 - Running LLMs on the RTX 4090

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 2 - Formalizing the tests

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 1 - Creating a series of tests

Local Multimodal RAG on the NVIDIA DGX Spark | Part 4 - Publishing our demo to Hugging Face

Local Multimodal RAG on the NVIDIA DGX Spark | Part 3 - Putting it all together


