I'm a machine learning engineer that’s part of an AI speech recognition startup. Now there are tons of different job descriptions for a machine learning engineer so let’s define what I do.
I’m a part of the deep learning team in our smalls startup organization. To emphasize how small we are, I was the second machine learning engineer and the third hire on the entire startup. My job is to do research and development on various deep learning methods which entails implementing and training novel neural network architectures, scaling out our ml training infrastructure on large compute clusters, and also figuring out how to best optimize models for production. As a small team, I’m proud to say we’ve built one of the best performing speech recognition service in the world, beating out tech giants like Google, AWS, and Microsoft!
I know from experience that looking at job postings for anything machine learning can be very discouraging. It’s very common to run into a job posting that requires some high-level degree like a master or PhD Some posting even requires more years of experience of a framework than the lifespan of that framework existence.
I have a bachelor's degree in computer science. I’ve worked with people with a degree in a non-related computer science field. I’ve worked with people who don’t even have a degree and are still doing machine learning professionally.
In this article, I want to talk about the steps I took to get a job doing machine learning, and how it’s possible for you too. Now I know my path is not the only path, but it’s one that worked out for me and my hope is to show you a plausible path to the career you want.
Start With a High-Level Understanding of Fundamentals
I pretty much learn machine learning from the greatest knowledge base that ever existed... the internet. A lot of resources out there would advise you to first start with the basics like statistics and probability, linear algebra, and calculus. They state you need to deeply understand those math subjects before starting. That's because that's how a PhD holder most likely got into machine learning.
But I’m a maker and learn best by build projects, so I chose a path that can get me to start creating the fastest which is to just get a very brief and high-level understanding of ML theory. Having a brief and high-level understanding of ML theory is like having a compass to guide you through ml problem solving. You can achieve this level of understanding by just reading a bunch of ml related blog posts, a quick read-through of a comprehensive book, or take an online course.
Just Start Building
The second step is where I learn the most. Just start making shit. Anything. Don’t even think too hard about what project to make. As you start building on your own you’ll run into all sorts of problems. Your ml algorithm doesn’t work, your data is messed up, you can’t even get a simple python library to install correctly. This is the type of stuff you’ll run into in an ML actual job.
When this happens, don’t give up, use the internet, ask for help, and solve the shit out of problems standing between you your goal. When you are forced to dig deep to get stuff to work, that’s when you really start understanding the intuition. You'll know what a tensor is, or how the right loss function is dependent on your models objective, or why the underlying statistics and distribution of your data does matter.
I recommend to just keep building, jumping from project to project. A recommendation would be to choose an A.I. domain you find interesting, for example, deep fakes. Read through some papers, and then try implementing them. I spend a lot of my time reading and implementing different papers as a machine learning engineer so that skill set is crucial.
But honestly, any project that you have completed end to end would look good on your portfolio because that’s what you’ll be exposed to when working with this stuff professionally. The goal is to gain some actual implementation experience without a lot of hand-holding while also forming a decent portfolio to show off.
If you want to join a community to show off your projects, ask questions, share knowledge, or just help each other in general, join my discord channel A.I. Hackers.
Reach Out To Startups
The third step is to convince a company to give you a chance. This to some might be the hardest part of your journey, but it doesn’t have to be. I convinced a previous startup I used to work for, to give me an internship. I was ignored by many, but I was assertive. To get my first internship in machine learning, I sent out multiple emails letting them know I’m confident I can provide them value if they let me.
Don’t be too spammy as that can get annoying so be thoughtful when asking for a job. They ultimately hired me because I was like a friendly bee buzzing around in the vicinity of their space, reminding them that hey if you let me, I can make you some pretty sweet honey.
This part is not easy and can get even be more discouraging than the learning journey it took to get here. Use the law of large numbers to your advantage. Go out there and pitch yourself to a wide range of companies.
If you’re persistent it’ll pay off.
If you score an initial job, now you need to deliver! You already got a ton of ml problem-solving skills from venturing out on your own doing projects, you just need to apply the same principles and techniques when working for a company.
The only difference is you now have company resources. That means more compute, more data, and a boss to keep you accountable. This is where you learn the practicality of machine learning or doing machine learning at scale. When you have company resources You’ll start building intuition on the real power of ML. You’ll also learn how to build usable systems with real-world constraints. For example - building a model that needs to run real-time on a mobile device.
Machine Learning Professional
After your first job, whether it’s an internship or full time, you now have professional experience as an ML engineer. Now you will be more confident if you choose to start applying to other jobs. You’ll become a highly sought after individual that probably has more industry experience than someone with a PhD.
This was my path to doing cutting edge ML. It has worked for me and I believe this path would work for you as well if this is the one you choose. At the end of the day, regardless if you have a bachelor's, a master's, or no degree at all, the field of ML is part art part science.
Science is the theory and the art is getting that shit to work. If you can build the competency of the theory and the art in ml, it doesn’t matter if you have an advanced degree. A lot of companies are moving away from needing a degree anyway. If you’re in a world with unprecedented access to knowledge It’s all about what you can do, with the receipts to prove it.