How to get a Machine Learning job in 2020.
How to become an ML Engineer
With popular Hollywood references like ‘Hal’, it's no wonder people are a little iffy about the possibilities that Machine Learning can offer. Thankfully, the reality of ML in today's world is a far cry from a murderous sentient computer that has self-esteem issues.
Machine Learning can transform our lives in a major way, so much so that some have even likened it to the industrial revolution.
Speaking of the industrial revolution, did you know that Machine Learning has made outsourcing dangerous jobs like welding easier. With the kind of heat, noise, and toxic fumes involved in industrial level welding, it's a great risk to human workers.
But, robot welders armed with computer vision and deep learning have greater flexibility to get the job done, without jeopardizing any lives.
And, that's just one of the ways ML has positively impacted our lives. Whether it's SMBs or large enterprises, businesses are showing an increased willingness to incorporate digital transformation to their key initiatives.
As a technical recruiter, I had the opportunity recently to interview leaders in the Machine Learning Industry, about the qualities they look out for when it comes to candidates.
But, then I found myself wondering what it was that prompted them to join this field. Was it love of innovation, or did they want to be part of something that will likely change the lives of millions?
Here's what Lee Sherry, Head of Data Science & Analytics at Geocaching, had to say about why he got involved with Machine Learning
"There are few things better to me than being immersed in data and emerging with the feeling that I’ve understood something new. It’s about making connections to the reality behind the numbers. I love the understanding that comes from studying the world through data and distilling complex information into its simplest truths. Data can be transformative; it can be utilized to overcome hurdles that we have learned to simply accept as impossible."
This, to me, is the essence of why many people find themselves gravitating towards ML. Not a lot of people have the ability to make sense out of chaos, but that's what the job description includes.
I know we've all heard the joke 'torture data long enough and it'll tell you anything', but there's a reason why businesses that trust statistics, instead of 'gut instincts' tend to perform better.
There's also a reason why firms like the International Data Corporation (IDC), predict that AI spending will cross $50 billion by 2021. Machine Learning is already the way of the future.
There's no time like the present to get involved in it. And, I know that many people are interested in breaking into the ML industry, they're just not entirely sure of how.
That's where this article can help. From what the required education is to common mistakes during interviews, we're going to demystify all you need to know about how to be an ML Engineer.
Master’s Degree or PhD - Which One Counts More?
Right, let's kick off with the one question everyone interested in ML always asks - Master's Degree or Ph.D.?
The uncertainty surrounding the educational qualifications of a Machine Learning Engineer is real. People often want to know whether a Master's Degree is enough to get them a well-placed job, or do they need to add a Ph.D. to their arsenal.
An MSc can give you the firepower you need to contribute positively in many practical situations. Most Master's programs in ML have a type of universal approach that prepares students in topics like computer vision programming, software design, speech recognition, natural language processing, etc. The degree focuses on enhancing the student's analytical skills and aptitude for statistics, mathematics, and programming.
At this point, you're probably thinking about what a Ph.D. can offer you if an MSc is so extensive?
Despite the flak that PhDs sometimes receive, they can play a defining role in your career. PhDs, as a rule, don't adopt a generalist approach. And, they can be a starting point for a profession based on research.
With a Ph.D. you can push the frontiers of ML, and focus on developing next-generation algorithms. Or, you can apply Machine Learning to socially important problems and present viable solutions. A huge benefit for a lot of leaders in the AI community is the ability to get involved in research, publications, and helping the opensource community in developing models that are going to advance generations to come. If you’re in a Ph.D program you’re required to be involved in multiple publications before you graduate. For R&D heavy focused roles, this is a huge plus.
Quite a few industry leaders that I've spoken with didn't require a potential candidate to have a Master's Degree or a PhD. However, Jia Chen, Managing Partner at Softmax Data, was very clear about why he preferred people on his team to have a strong academic background.
He finds that people with such qualifications are better equipped to deal with papers and research and that their vast mathematical experience helps them achieve the kind of breakthroughs ML requires.
The importance of mathematical intuition and research skills can't be overlooked in ML. Qualifications like PhDs are the perfect way to gain such experience and to develop a sound grasp of the inner workings of algorithms.
Fundamental Programming Skills and Experience
Your friends may tell you that all you need are a few necessary programming skills and - hey presto, you're an ML engineer. But, even though learning the basics can help you adapt programming skills specific to ML, becoming an engineer may require complex programming experiences.
Alex Ermolaev, Director of AI at Change Healthcare recommends that ML engineers need to have experience building high performance/scalable products, data management skills, and experience with building AI/ML models or tools.
Picking up information about language syntax, analytical libraries, and suitable integrated development environments (IDEs) will also help. You also need to focus on things like deployment and scaling models.
You may also need experience in deployment and scaling models. Deployment is one of the most essential parts of the machine learning life cycle, and along with scaling it helps streamline the process of large scale consumption.
Some businesses have teams of software engineers to handle such details, but some don’t. That’s why it’s best to iron out such details before you reach the interview date. For those of you who are interested in practicing coding, you can check out my article - ‘I failed my effing coding interview’.
Still, whether or not a particular job requires coding, most ML leaders want their potential candidates to be aware of what’s involved in delivering models to engineers. Being able to make realistic assessments about whether a model is production worthy based on things like volume of data, run time, and complexity is important.
What Is Modeling in ML?
The term model in ML refers to the product or artifact that results from the training process.
Modeling is referred to as a set of mathematical parameters and expressions, which are linked together with input and output
in the form of class and action for different elements of the given datasets. The task is to handle regression, classification, and reinforcements of the data.
Or in simple terms, modeling requires a lot of fancy maths. The kind that they don't generally teach you in school. This is where the mathematical prowess of an ML engineer becomes pretty important, and why qualifications like PhDs can give you an edge.
The people who put 'learning' in Machine Learning weren't kidding around, because there are several types of learning (sub-fields, even) that you need to familiarize yourself with. And, as much as I'd love to talk about them all here, I intend to stop writing this article before the machines really do take over.
So, for anyone interested in the 14 types of learning, click here and knock yourself out (figuratively, of course).
Erroneous Interviews and What to Avoid
What are the three biggest mistakes you should avoid making in interviews?
According to Anirban Sengupta, Head of Demand Optimization, at Microsoft, the three deadly sins for potential candidates are dropping big terms to impress interviewers, focusing on the quantity of your work instead of quality, and being unable to describe your past projects.
Those mistakes do sound pretty bad. But there are mistakes too - like people rushing through things, and not taking the time to answer questions properly. Let me put it this way, it's okay if you don't know everything, as long as you know somethings really well. Always focus on quality. If you do not know something, admit that directly and show your passion to learn. Prove to a potential employer through the process that you can learn something new throughout the process if you can. In our conversation with a few ML leaders, there was a trend where ML engineers would show their capacity to pick up something new fast which showed altitude to learn.
Also, try to be more than just a robotic participant answering questions. You shouldn't shy away from asking questions of your own, for instance, if you're uncertain about what the interviewer wants, tell them that. Be open about what you know or don't know. Interviewers want to experience what it is like working with you on a day to day basis. If you lack the ability to collaborate or clarify questions in an interview, they’re going to naturally assume you avoid asking clarifying questions when you are in the job.
Interviewers are generally interested in judging your analytical skills, and how you deal with a problem. They want to gauge your thought process. This is why being honest and precise is a good idea. Oh, and resume inflation is a BIG no-no. Seriously, don't do it. If you lie, it gets sniffed out really fast. An interviewer will dive deep into a topic you do not completely understand and it is obvious when you are speaking out of your tush.
Common Traits Successful Candidates Display
There are a few traits and characteristics everyone appreciates in human beings, even if they are ML engineers (brain envy is a real thing).
Here are the traits that most successful candidates seem to share.
Be collaborative. Machine Learning is not a one-man game. It's more of a team sport. When you do land a job as an ML engineer, you'll probably have work with technical people and non-technical people. And, you should have excellent communication and leadership skills to work with and lead a team.
Another important characteristic is being self-aware. It's important to have the ability to learn from your mistakes. Being defensive about being wrong won't get you very far. It's just a way of telling the world you can't accept your failures.
And, last but not least, be humble and be passionate about what you do, because that's how you'll be able to contribute positively. To show you what I mean, I'll leave you with a quote from Deep Dhillon, Founder at Xyonix (Paraphrasing).
"Talent is hard to find. They’re overpaid and under-utilized right now. Facebook, Google, and Amazon are hiring all of the top talent. Ph.D graduates going to these companies are working on improving marketing campaigns, advertising dollars, and click through rates when they could be working on other projects like we’re doing at Xyonix. We are focused on AI for good. Some of those projects include;
● Hospital unit patient population census predictor
● Smartphone and audio based abnormal heart beat detector
● Automated video annotation and segmentation engine of in body surgeries
● Rock star audience natural language text conversation parser and suicide ideation detector
● Medical surgery text review parser for sentiment and automated insight extraction
It is fine if you want to work at a large corporation to use large data sets. Some of their projects are more than marketing and sales. Either way, there is nothing wrong with that. My challenge is to ask yourself, “Are you genuinely passionate about that?” Machine Learning Engineers and Data Scientists are in high demand. It doesn't matter where you go and what you do. You are going to get paid well and you're going to earn a living wage. The difference is how you impact the world and what you use technology for in your day to day life.”