Machine learning engineers are one of the most sought after roles, yet it is a very intricate and broad field. It is quite easy to get lost in the world of machine learning without guidance, however, this article will suggest directions to explore and follow in your career.
The most important thing to know is that the various fields are different and workplaces with established data teams know this. Startups however don’t and it is up to you to read the job description and visualise what the role actually entails, and if you can confidently and productively fill the role. It is best to develop your skills primarily in one area, then learn skills that overlap when needed. We would start by going through common roles in the industry, as well as their distinguishing features and defining skills. Below are some common jobs, their tasks, and required skills. Do not be dissuaded by the descriptions, rather use them as a guide to becoming an outstanding expert.
The evolution to become a Machine Learning engineer
1. Data Analysts
A data analyst is expected to be business-oriented and analytical. You would spend time loading data from databases using SQL queries into a Jupyter notebook, running on Python. You will typically store this data in a Pandas dataframe or Numpy arrays for exploring and performing statistical manipulations on the data to gain insight.
You will then visualize using Matplotlib or Seaborn to note trends in your employer’s business, then communicate your findings and make recommendations. When necessary, you will also need to build dashboards on Tableau or Power BI non-techies can play with, set up, and maintain Google Analytics and scrap websites for data using tools like BeautifulSoup, parse the HTML data. Sometimes the R programming language is also used for statistical analysis, and machine learning on SciKitLearn might be used to digest data, and make recommendations.
You can easily develop these skills by joining Omdena projects and learning from more experienced experts while contributing to CV-ready real-life projects.
2. Data Engineers
Data engineers are typically brought on board to handle the acquisition, processing, cleaning, structuring, storage, and maintenance of massive datasets. We’re talking datasets mostly above 100GB. This requires superior understanding of databases, Data Warehouses, Data Cubes, Data Lakes, as well as their schema design. Your SQL skills must be top-notch and you will mostly set up these systems on cloud services like AWS, GCP, and Azure. You will use Hadoop which uses MapReduce for processing these large data in parallel, Kafka for handling data streams (think Apple Music & Spotify), and Spark for performing ETL pipelines on computing clusters in parallel but using resilient distributed datasets. While you could use Python for analysis when necessary, you will mostly use Java and/or Scala. Scala is highly recommended and gives you a strong edge.
Omdena has diverse projects, and you might want to join a project to learn from more experienced experts while contributing to CV-ready real-life projects. Omdena also gives access to online courses to further develop your skills.
3. Data Scientists
Data scientists are expected to have all the skills data analysts do but in addition, more dexterity with machine learning. You will use Python deep learning frameworks like Keras for building quick models, PyTorch for building fast flexible models, and TensorFlow for building models ground up. You are expected to understand clustering, regression, and classification concepts in depth. You will keep up with publications in the field and follow the fast-changing trends in the industry, including various deep learning architectures for solving different problems, pretrained models like transformers from Hugging Face for solving NLP problems using Transfer Learning.
You might also need to deploy models on cloud platforms like GCP Vertex, AWS SageMaker, Azure ML. You might also need to containerize your trained models with Docker for onsite GPUs or cloud compute engines. Models are generally built into APIs to interact with other parts of the system and you are expected to do that.
Again, do not fear, You can easily develop these skills by joining Omdena projects and learning from more experienced experts while contributing to CV-ready real-life projects.
4. Machine Learning Engineer/AI Engineer
From this point, you are expected to have strong software engineering skills, I mean data structures and algorithms. Having gone through the selection process at Apple, Google, OpenAI, Yelp, ASOS, World Remit, and many small companies for this role, I can assure you that all start with medium-difficult coding tests, and you are expected to understand concepts like multithreading, concurrency, distributed computing, codetesting, and A/B Testing.
Most coding assessments require solutions that use concepts like Object Oriented Programming, Dynamic Programming, Recursion, and data structures like Trees, Graphs, Arrays, etc. In fact, tech companies use the title “AI/ML Software Engineer” for more product-design-based roles. To build a functionality for Siri for example, you must understand that a long list of words like the English dictionary is better saved in a ‘Trie’ data structure and not arrays, as searching for a word takes O(m) complexity where ‘m’ is the length of the word. Compare this to looping through a million words in a list and the characters in each string to check for matches.
You are not only expected to do most things data analysts, data engineers, and data scientists do, but build machine learning infrastructures and use machine learning in production. Efficiency, scalability, reliability, and accuracy cannot be overstated in a production environment. Because a machine learning engineer is expected to understand machine learning down to the mathematical concepts, companies are in the habit of preferring postgraduate degrees in the field, in addition to a computer science background and research publication, but will take any candidate that demonstrates sound understanding of these concepts.
To prepare for machine learning engineering interviews, I would strongly advise practising on LeetCode daily, in addition to working on Omdena projects. You should be able to implement algorithms like Back Propagation, Batch Normalization, LSTMs, etc in raw code without libraries and Omdena gives members access to courses that can help in this regard.
5. NLP Engineer/Computer Vision Engineer/Robotics Engineer/Research Scientist
You will be expected to be a machine learning engineer first, then possess a deeper knowledge of computational linguistics, cognitive science, etc depending on your field. Employers mostly use this specialty job title for highly specialised roles. You might want to work on lots of NLP projects with Omdena before considering such because although it is heavily biassed towards PhD holders with proven track record of publishing research findings at top conferences, demonstrating a sound knowledge, or having meaningful experience in this field can help. Research Scientists however with weaker software engineering skills can be considered but they are expected to have a superior understanding of AI mathematical theory and publications, like understanding the mathematical proofs of reinforcement learning algorithms.
Machine Learning interview questions 2022
Do not just memorize answers to past questions you find on Glassdoor, reddit, etc, rather understand the concepts behind those questions. Study the topics the questions fall under as the company would likely be working with the concepts, expect you to understand them, and test if you do. For example, labs like Open AI that train massive models like GPT extensively use distributed computing techniques to handle the acquisition, storing, and processing of the billions of datasets for training the model as well as the training itself. Proving you have done such proves you can catch up faster with their own techniques and become productive.
Machine learning interviews consist of coding tests and technical screening in addition to behavioural questions. You might get ML system design questions for more senior roles or roles where you will be working independently.
Practice coding tests
For the coding portions, most companies copy straight from LeetCode. I would advise practising on LeetCode, AlgoExpert, or Hackerrank daily.
Align company needs with your experiences
For technical interviews, companies will always ask questions relevant to their needs and ask questions on your past experience to measure your suitability for that specific role.
The best approach is learning the relevant concepts and finding opportunities to use them in real-life projects.
Personally, I spent 18 months taking machine learning courses, completing a masters, and very importantly completing Omdena projects before Applying to jobs. One or two 2-month Omdena projects can train you properly if taken seriously as you will mostly build AI systems topdown for companies.
Visualise tasks you might be expected to carry out and practice how you might approach them.
It is common for interviewers to give a sample task they have done and ask how you would approach it. System design interviews are almost always set up this way. ASOS for example can ask the candidate to “design a system for predicting a consumer’s likelihood of not returning to their website”. Another common question is “design a web crawler that gathers training samples for an NLP model”.
Become a storyteller
Interviewers will always look out for candidates who have productively solved machine learning problems in the past relevant to their needs, and focus on asking how you solved the challenge and why you chose the techniques you did. From your response, the interviewer estimates how you will fit into and benefit the company, it’s that simple.
Adjust your CV to the company you are applying for
Before applying, the first step would be researching the company and job description, then try imagining what your chosen field might do there and be certain that you can confidently perform these tasks, then write your CV and set up your Linkedin profile accordingly before making applications.
Tips and tricks for answering machine learning interview questions
Use every question to show the interviewer you understand the underlying concepts and have applied it to problems relevant to theirs.
If for example you are asked “why use machine learning?” A model answer could be, “Some problems might not have features distinguishable enough to hardcode, so we use machine learning to estimate the output. This is achieved with statistical models that learn the features from sample data while updating its weights to minimise error. For example, I was tasked with building a simple hate speech classifier for my past employer/personal project/school project but it would be impossible to think of every rule that globally accentuates hatefulness in a sentence, hence a rule-based algorithm might not be effective. Thanks to LSTMs that learn the relationship between each word and the contexts in which they mostly appear, I built an LSTM binary classifier”. This answer presents the candidate as analytical, experienced and communicative. Most importantly, it mentions what the candidate personally did, and not what the team the candidate was a part of did.
Prepare for follow up questions to any answers you give.
The interviewer might follow up the example answer above with a more technical “How did you measure your model’s performance?” and a good answer could be “I reserved a portion of the sample dataset and used it to determine the prediction accuracy, precision, recall, f1-score and AUC of the model on unseen data”, the interviewer might further ask “so which metric was more important to you and why?”, to ensure you understand those concepts. They might also choose to ask “why test on unseen data”, to ensure you understand the concept of overfitting and generalisation. You can also be asked to explain how an LSTM classifier works in this case. If interviewing with an experienced expert in your field, they understand you cannot know everything and would almost always generate questions from your past experience.
Think out loud
For paired coding tests where you have to write an algorithm for a task, the interviewers estimate your strengths by your reasoning. It also proves that you understand your code and its implication at each step. Without prior practice, thinking out loud feels weird.
5 Best books to help you preparing for a Machine Learning interview
1. Cracking The Machine Learning Interview by Nitin Suri
This book should be for everyone interested in Machine Learning jobs interviews. The content of the book is easy to understand. It covers all the aspects of Machine Learning and explains the models the way it would be asked in an interview.
2. Ace the Data Science Interview: 201 Real Interview Questions Asked By FAANG, Tech Startups, & Wall Street by Nick Singh and Kevin Huo
This book is the best way to prepare for Data Science, Data Analyst, and Machine Learning interviews, so that you can land your dream job at tech startups, Facebook, Google. …
3. Introduction to Machine Learning Interviews Book by Huyen Chip
A free book on Machine Learning Interviews. The book consists of two parts. The first part explains the interviewers’ mindset and what kind of signals they look for. The second part consists of over 200 knowledge questions.
4. Deep Learning Interviews: Hundreds of fully solved job interview questions from a wide range of key topics in AI by Shlomo Kashani
This book is very useful, helping you to practice with and learn Deep Learning. With tips on crafting your resume, creating kick-ass portfolio projects, sending networking cold emails, and better telling your story during behavioural interviews.
5. Interview Preparation Book by MachineLearningInterview.com
This book with over 250 questions enables you to revise interview questions and concepts to get you ready for a Machine Learning Interview.
Bonus: Top Machine Learning cheat sheets
How to get started with machine learning real-world projects.
Our more than 4000 changemakers come from various backgrounds and experience levels to build innovative AI solutions, demonstrate their skills, and move up in their careers.
Omdena School provides an instructor-led and code-first environment with a better user experience using real-world case studies. The learners can learn theories, models, and applications to understand machine learning well enough to pass coding interviews.
The first step towards becoming a machine learning expert and landing roles is learning the Python programming language. This can take between a few days to 2 months depending on programming experience. Beginners might need to learn with tutorials/courses that cover standard computer science concepts like common data structure and algorithms. Learning statistics and probability next and how to compute them in Python will greatly help. Next, learn introductory machine learning then head to Omdena projects. Participating in the projects will help you properly learn machine learning with practice, you will have access to the codebase of the project and will learn optimally by reading and understanding every contribution to the project. Finally, join courses at Omdena school to polish your skills properly, while aiming to complete at least 1 LeetCode challenge daily.
This article outlined the various fields in AI and the sought after skills in each field, as well as how to select the most suitable job and perform well in the interview. You can rest assured that mastering the question-answering tips will help you shine greatly at interviews and land your dream job.