The Different Machine Learning Jobs
Transitioning to a Machine Learning job
What hiring managers care about on the resume
Defining the type of engineer you are
Structuring your resume
Where can you get a job in machine learning
Preparing for interviews
Today we are going to look at some advice to find jobs in Machine learning. There is a lot of interest in this domain, but it can feel overwhelming considering the level of technical expertise that is usually expected for machine learning engineering roles and the speed at which the domain is changing. So, how can you build a career in ML, or how do you transition to it?
First, it is important to understand that machine learning engineering is not the only position you can get if you want to work in ML. There are many other jobs, and there are many skills you can acquire in positions that are unrelated to machine learning that can be applied to ML. So, we are going to dive into the different ML jobs and how we can transition to those.
Then, we need to understand how to write a correct resume. We are going to dive into what is important to highlight in your resume if you want to showcase technical and leadership skills. We are going to talk about how to structure the resume and how to make sure it is well written to be read by the different people who may end up reading it.
We are going to look at the different places where you can apply your Machine learning skills, mainly talking about the maturity level of the ML endeavor and the startups vs big companies. In the end, we are going to look at the different strategies to prepare for the different interviews you may encounter in machine learning.
The Different Machine Learning Jobs
There are many jobs where you can work in Machine Learning. Let’s look at a few of them:
ML engineer:
Responsibilities: Design and implement machine learning applications and systems. This involves creating algorithms, experimenting with models, and deploying ML solutions into production environments.
Skills: Python, ML frameworks (TensorFlow, PyTorch, Scikit-learn), model deployment.
Education: Bachelor’s, Master’s and PhD preferred
Data Scientist:
Responsibilities: Analyze and interpret complex data to help make informed decisions. This includes predictive modeling, statistical analysis, and using machine learning to extract insights from data.
Skills: Strong background in statistics, programming (Python, R), data visualization tools (Tableau, PowerBI), and ML libraries.
Education: Bachelor’s, Master’s and PhD preferred
AI/ML Product Manager:
Responsibilities: Oversee the development and strategy of AI/ML-based products. This involves coordinating between the technical team and other departments, understanding market needs, and setting product vision.
Skills: Strong technical background, understanding of AI/ML technologies, excellent project management skills, and the ability to translate complex concepts for non-technical stakeholders.
Education: Bachelor's degree in engineering. MBA can beneficial
Managing ML Teams:
Responsibilities: Lead and coordinate multidisciplinary ML teams to develop and implement machine learning solutions that align with business goals. This includes project management, setting strategic direction, facilitating collaboration across departments, and ensuring projects are delivered on time and within budget.
Skills: Leadership and team management, foundational knowledge of AI/ML technologies, strong project management and communication skills, and the ability to bridge technical and business perspectives.
Education: Bachelor’s degree in Computer Science, Data Science, or a related field. An advanced degree or MBA is advantageous.
Research Scientist:
Responsibilities: Conduct advanced research to develop new machine learning techniques and algorithms. This role often focuses on pushing the boundaries of AI and ML through experimentation and innovation.
Skills: Deep understanding of machine learning, neural networks, and computational statistics. Publication record in peer-reviewed journals or conferences is often required.
Education: Ph.D. in Computer Science, Machine Learning, Statistics, or a related field is highly preferred. A Master's degree may be acceptable with significant relevant experience.
Robotics Engineer:
Responsibilities: Design and build robots that use machine learning to perform tasks autonomously. This role combines aspects of mechanical, electrical, and software engineering.
Skills: Knowledge of robotics software and hardware, programming skills (C++, Python), and experience with machine learning algorithms for robotics.
Education: Bachelor’s or Master’s degree in Robotics, Mechanical Engineering, Electrical Engineering, Computer Science, or a related field. Advanced degrees are often preferred for more complex or research-focused roles.
Computer Vision Engineer:
Responsibilities: Develop applications and systems that can process, analyze, and make decisions based on visual data. Uses include facial recognition, image classification, and autonomous vehicles.
Skills: Experience with computer vision libraries (OpenCV, TensorFlow Vision), understanding of image processing algorithms, and machine learning model development.
Education: Bachelor's degree in Computer Science, Electrical Engineering, Robotics, or a related field, with a focus on computer vision or image processing. A Master’s degree or Ph.D. is often preferred for roles involving advanced research or specialized applications.
NLP Engineer (ML engineering focused):
Responsibilities: Specialize in training or customizing pre-trained NLP models. This involves data preprocessing, model fine-tuning, evaluation, and deployment of models to production environments.
Skills: Python, NLTK, spaCy, TensorFlow, or PyTorch, especially for model fine-tuning.
Model Deployment. Skills in text cleaning, tokenization, and vectorization. Understanding of NLP-specific ML models.
Education: Bachelor’s, Master’s and PhD preferred
NLP Engineer (API focused):
Responsibilities: Focus on developing NLP applications and services by leveraging high-level API frameworks like Langchain. This includes integrating NLP capabilities into applications, customizing user experiences, and ensuring the scalable deployment of NLP features.
Skills: Prompt Engineering, RESTful APIs, Python, web development frameworks (Flask, Django), full-stack development, Basic knowledge of NLP.
Education: Bachelor’s degree in Computer Science, Software Engineering, or a related field. Practical experience with API frameworks and application development is often prioritized over advanced degrees.
MLOps Engineer:
Responsibilities: Implement and manage the infrastructure and workflows for deploying, monitoring, and maintaining AI/ML models in production. This includes automating machine learning lifecycle processes and ensuring model reliability and scalability.
Skills: Expertise in DevOps practices and tools, proficiency in containerization and orchestration technologies (e.g., Docker, Kubernetes), strong background in cloud computing platforms (AWS, Google Cloud, Azure), and knowledge of machine learning frameworks (TensorFlow, PyTorch). Ability to manage CI/CD pipelines for machine learning projects and ensure data security and compliance.
Education: Bachelor's degree in Computer Science, Information Technology, or related field. Certifications in cloud services, DevOps, or MLOps are advantageous.
Data Engineer:
Responsibilities: Build and maintain the infrastructure required for optimal extraction, transformation, and loading of data from various sources. Data engineers enable data scientists and ML engineers by preparing the data architecture.
Skills: Strong programming skills (Python, Java, Scala), expertise in SQL and NoSQL databases, experience with big data tools (Hadoop, Spark, Kafka), knowledge of data warehousing solutions, and familiarity with cloud services (AWS, Google Cloud, Azure). Proficiency in building and optimizing 'big data' data pipelines, architectures, and data sets.
Education: Bachelor's degree in Computer Science, Engineering, or related field. Advanced degrees or certifications in data engineering, big data analytics, or related fields are beneficial.
Transitioning to a Machine Learning job
Transitioning from a job unrelated to ML to an ML job is quite possible! Many skills that we acquire outside ML can be quite useful in transitioning to an ML job.
Transitioning to ML engineering
Data scientist: Data scientists already work with data modeling, statistics, and analytical tools, which are fundamental to ML. The transition involves deepening their understanding of machine learning algorithms and possibly gaining more programming experience.
Software engineer: Software engineers, especially those familiar with Python, have a strong programming background and problem-solving skills, which are crucial for ML engineering. The main gap might be in specific knowledge of ML algorithms and data handling techniques.
Data analyst: Data analysts have experience in handling data, using statistical tools, and generating insights, which are valuable in ML. Transitioning to ML engineering would require them to acquire more advanced programming skills and in-depth knowledge of machine learning algorithms.
Data engineer: Data engineers are proficient in managing and processing large datasets, an essential skill for ML projects. The transition involves learning about ML algorithms and model deployment specifics.
BI developer: BI developers have a good understanding of data and analytics, which can be a foundation for ML. They would need to focus on gaining programming skills, especially in Python or R, and learning machine learning algorithms and techniques.
Transitioning to Data Science
Data analyst: Data analysts are skilled in working with data to extract insights, using tools like SQL, Excel, and sometimes Python or R. Transitioning to data science would require deepening their statistical knowledge and learning more advanced machine learning techniques.
Statistician: Statisticians have a strong foundation in the mathematical and statistical theories that underpin many data science algorithms. They might need to acquire more programming skills and experience with data science-specific tools and models.
Quantitative analyst: Quant analysts possess strong mathematical and statistical analysis skills. Their transition would focus on learning more about data manipulation, machine learning algorithms, and programming in Python or R for data science applications.
Data Engineer: Data engineers have a good grasp of data architectures and how to handle large datasets, which is beneficial for data science. They would need to focus on statistical analysis, machine learning techniques, and potentially enhancing their programming skills for analysis rather than just data management.
BI developer: BI developers understand how to use data to make business decisions and are usually proficient in SQL and data visualization tools. They would need to learn more about statistical analysis, programming for data manipulation (beyond SQL), and machine learning.
Transitioning to AI/ML Product Manager
Product Manager in Tech: Product Managers already have experience in managing products, understanding customer needs, and working with cross-functional teams. Transitioning to AI/ML products would mainly require gaining specific knowledge in AI/ML technologies and applications.
Software engineer: Software engineers, especially those who have worked on AI/ML projects, understand the technical challenges involved. Transitioning would require developing product management competencies and a broader understanding of business and market dynamics.
Business Analyst: Business Analysts have a good grasp of market needs and how technology can address those needs. Transitioning to AI/ML Product Management would require them to deepen their technical understanding of AI/ML and develop product strategy skills.
Technical Project Manager: Technical Project Managers have experience leading projects and coordinating teams. They would need to focus on gaining a deeper understanding of AI/ML technologies and sharpening their product strategy and market analysis skills.
UX/UI Designer: UX/UI Designers understand the importance of user experience in product development. Transitioning would involve acquiring a deeper technical knowledge of AI/ML and developing skills in product management and strategy.
Transitioning to managing ML teams
Technical Project Manager: Already skilled in managing projects and leading teams, technical project managers need to deepen their understanding of AI/ML technologies and methodologies specific to ML projects to transition effectively.
Software engineer: Software engineers, especially those with experience in AI/ML projects, have the technical background necessary for managing ML teams. The main challenge is to develop leadership skills and a strategic vision for ML projects.
Product manager: Product managers have experience with leading cross-functional teams and managing products from concept to launch. Transitioning to managing ML teams requires a deeper technical understanding of ML and data science principles.
Data Engineer: Data Engineers have a solid understanding of data infrastructure, which is crucial for ML projects. To manage ML teams, they would need to broaden their knowledge of ML algorithms and develop leadership and project management skills.
Business analyst: Business analysts understand how to translate business needs into technical requirements. Transitioning to managing ML teams would involve gaining a deeper technical understanding of ML technologies and developing strong leadership skills.
Transitioning to Research Scientist
Academic researcher: Researchers in quantitative and computational fields have the research skills and theoretical background. Transitioning to ML research might require specific study in machine learning and artificial intelligence.
Other ML roles: Data Scientists already possess a strong foundation in statistics, machine learning, and data analysis. Transitioning to research would involve focusing more on theoretical aspects, conducting original research, and possibly obtaining further academic qualifications. ML Engineers have practical experience in applying machine learning algorithms. Transitioning to a research scientist role would require enhancing their theoretical understanding and research methodologies, often through further study or academic research.
AI / ML Software Engineer: Software Engineers focused on AI/ML have a solid programming background and understanding of machine learning frameworks. They would need to deepen their theoretical knowledge and gain experience in conducting scientific research.
Transitioning to Robotics Engineering
Mechanical Engineer: Mechanical Engineers have a solid understanding of the design and manufacturing of mechanical systems, which are crucial for robotics. Transitioning would involve gaining more knowledge in electronics, computer science, and programming specific to robotics applications.
Electrical Engineer: Electrical Engineers possess essential knowledge in electronics and circuit design, which is vital for developing robotic systems. They would need to enhance their skills in mechanical design, programming, and systems integration.
Software Engineer: Software Engineers, especially those with experience in embedded systems, are familiar with programming languages and software development processes relevant to robotics. The main gap might be in specific robotics technologies, mechanical design, and systems integration.
AI / ML software engineer: These professionals have experience with software development and might have specialized in areas of AI/ML that are applicable to autonomous or intelligent robotics systems. The transition involves applying their software and algorithm development skills to the multidisciplinary field of robotics, which also requires knowledge of mechanics and electronics for a comprehensive understanding of robotic systems.
Control Systems Engineer: Control Systems Engineers have expertise in designing and analyzing systems control, which is directly applicable to robotics. They might need additional training in mechanical design, programming, and practical robotics technologies.
Transitioning to Computer Vision Engineering
Software engineer: Strong programming skills are essential for computer vision engineering. Experience in Python or C++, along with a foundational understanding of AI/ML principles, can facilitate a smooth transition by learning specific computer vision techniques and libraries.
Embedded Systems Engineer: Experience with hardware and real-time processing systems is valuable, especially for computer vision applications in robotics or IoT. They would need to acquire more in-depth knowledge of machine learning and computer vision algorithms.
Robotics Engineer: Familiarity with sensors, including cameras, and some level of software development. Transitioning would involve focusing on the software side, particularly machine learning models for image processing and analysis.
Electrical Engineer: Understanding of digital signal processing is beneficial for computer vision tasks. Transitioning requires learning more about image processing algorithms, machine learning, and gaining proficiency in relevant programming languages.
Academic Researcher: Strong analytical skills and potentially some experience with computational models. Transitioning to a computer vision engineer role would require practical software development skills and specific knowledge of computer vision and machine learning.
Transitioning to NLP Engineer (train, fine-tune, deploy)
Software engineer: Strong programming skills and experience with software development best practices. If they have worked on AI/ML projects, transitioning to NLP would primarily involve gaining specific knowledge in NLP methodologies and language model deployment.
Computational linguist: Deep understanding of language and linguistics, which is crucial for NLP. They might need to enhance their technical skills, particularly in machine learning model training and deployment, and gain proficiency with modern NLP frameworks.
AI research scientist: Strong foundation in AI and machine learning, including theoretical knowledge that can be applied to NLP. Transitioning would require practical experience with NLP libraries and frameworks, focusing on applied aspects like model fine-tuning and deployment.
Data analyst: Analytical skills and experience with data manipulation and visualization, possibly some scripting experience in Python. They would need significant upskilling in machine learning, NLP theory, and practice, as well as experience with NLP frameworks.
Academic researcher: Deep theoretical understanding of language, which is valuable for NLP. They would need to acquire practical technical skills in programming, machine learning and experience with NLP frameworks to transition effectively
Transitioning to NLP Engineer (use APIs)
Software engineer: Already proficient in programming and familiar with the concepts of API integration, which are crucial for working with frameworks like Langchain and Llamaindex. Transitioning would primarily involve focusing on NLP-specific applications and learning the nuances of these particular frameworks.
Web developer: Familiar with developing web applications and integrating various APIs. Transitioning would require gaining specific knowledge in NLP and learning how to effectively use NLP API frameworks like Langchain and Llamaindex in web applications.
Data analyst: Possesses skills in data manipulation and analysis, often including scripting abilities. Transitioning would involve learning more about NLP concepts and focusing on acquiring technical skills for API integration and application development.
Technical Product Manager: Understands product development cycles and user requirements, with some technical background. They would need to deepen their technical expertise, especially in NLP and API integration, to effectively manage products built with frameworks like Langchain and Llamaindex.
Computational linguist: Deep understanding of linguistics and language processing from a theoretical perspective. Transitioning would involve acquiring practical skills in software development, particularly focusing on how to apply linguistic principles using NLP APIs.
Transitioning to MLOps Engineering
DevOps engineer: Already skilled in automation, CI/CD pipelines, and cloud infrastructure—core components of MLOps. Transitioning would mainly involve gaining specific knowledge in machine learning model deployment and lifecycle management.
Software engineer: Proficient in programming and possibly experienced with cloud services and automation tools. The transition involves focusing on machine learning deployment specifics and adopting MLOps methodologies.
Data engineer: Skilled in managing and processing data pipelines, crucial for feeding data to ML models in production. Transitioning would involve learning about ML model deployment, monitoring, and the automation aspects of MLOps.
Cloud engineer: Has expertise in cloud infrastructure and services, which are often used for deploying and scaling ML models. Transitioning involves learning about machine learning workflows and how to apply DevOps practices to ML projects.
System administrator: Experienced in managing servers and networks, with some automation skills. Transitioning would require a significant shift towards understanding machine learning and cloud services and adopting modern DevOps tools and practices.
Transitioning to ML Data engineer
Data engineer: Already proficient in data architectures, ETL processes, and database management. Transitioning to focus on ML requires learning about specific ML data needs, such as feature engineering and data pipelines for ML models.
Software engineer: Familiar with programming, algorithms, and possibly some database management. Transitioning involves gaining specialized knowledge in data processing tools (e.g., Apache Spark, Hadoop) and understanding the data requirements unique to ML projects.
Database administrator: Skilled in managing databases but might lack experience with big data technologies and data pipelines for ML. Transitioning involves learning about big data platforms, data processing frameworks, and specific considerations for ML data management.
BI developer: Proficient in data analysis, reporting, and possibly some ETL processes. Transitioning requires gaining technical skills in big data technologies, programming for data pipeline automation, and understanding ML project data needs.
System administrator: Has experience managing servers and networks, including some automation and scripting. Transitioning involves a significant shift towards data-specific technologies, programming for data processing, and the nuances of supporting ML workflows.
What hiring managers care about on the resume
Most hiring managers and recruiters are going to spend at most 10 seconds on each resume, so it is important to provide the right information at first glance. A lot can be understood about the candidate by looking at only 4 pieces of information: the candidate’s name, the current job title, the current company, and maybe the education.
The current job title captures the seniority level and the fit for the position to fill. If the current company is well known, it can provide brand recognition. If the company is in a similar industry, it can provide an idea of the domain expertise of the candidate. If the company is large, it can give a sense of the size and scope of the candidate's responsibilities. If the candidate comes from a well-known university, it can also provide brand recognition. If the candidate has the right advanced degrees, it can provide information on the fit for the position to fill.
In general, the first half of the first page of the resume should provide most of the information that the recruiter or hiring manager might be looking for.
The same goes for the LinkedIn profile.
Make sure that your profile picture will give a positive opinion to the people looking at it.
Defining the type of engineer you are
The engineer persona
For any engineering domain, hiring managers will typically look at two sets of skills: technical skills and leadership skills.
For example, technical skills can be:
Programming and Software Development
Machine Learning depth
Mathematics and Statistics
Big Data Technologies
Model Deployment and MLOps
and leadership skills can be:
Team Collaboration
Communication Skills
Strategic Thinking
Execution
Adaptability
Depending on how you write your resume, hiring managers intuitively categorize the candidates into different engineering personas:
For example, let’s look at the following description of job responsibilities:
Machine Learning Engineer at [Company]: June 2020 to Present
Contributed to the development and refinement of machine learning models at [Company], focusing on improving accuracy and efficiency. Assisted in the deployment of a predictive analytics tool that increased customer retention rates by 15%. Gained proficiency in Python, TensorFlow, and cloud computing services, demonstrating a rapid learning curve and a strong commitment to contributing to team goals.
This description displays low technical skills and low leadership skills! This description showcases a learning-oriented approach with a focus on contributions to projects and skill acquisition. Highlighting assistance in deployment, proficiency gains in key technologies, and contributions to team goals without leading the projects directly caters to an entry-level or junior profile. It speaks to a persona that is in the early stages of their career, eager to learn, and rapidly developing their technical skills, hence "emerging talent."
Now let’s look at the following one:
Machine Learning Engineer at [Company]: June 2020 to Present
Specialized in deep learning and natural language processing at [Company], developing state-of-the-art models that enhanced the core product's capabilities. Published two papers in top-tier AI conferences on innovative approaches to model training that minimizes computational resources without sacrificing performance. Led the technical design and implementation of an AI-driven recommendation system that boosted user engagement by 40%.
Clearly, it showcases high technical skills but low leadership skills! Focusing on deep specialization in areas like deep learning and NLP, innovative model training approaches, and significant contributions to the field through publications, this description aligns with an expert engineer persona. It portrays a candidate who not only excels in their technical niche but also contributes to advancing the field. The mention of leading the technical design of major projects underscores their role as a key technical contributor or specialist within their domain rather than a broad-based leader or manager.
Now let’s look at the following one:
Machine Learning Engineer at [Company]: June 2020 to Present
Leveraged machine learning insights to guide strategic decision-making and enhance product innovation at [Company]. Led cross-functional teams in integrating AI capabilities into existing platforms, significantly improving user engagement by 25% within the first year. Acted as a bridge between technical teams and executive management to ensure alignment with corporate objectives, driving the adoption of AI across business processes.
Here, we have low technical skills and high leadership skills! This description focuses on strategic impact and leadership beyond the technical aspects of machine learning. It highlights the candidate's ability to leverage ML insights for strategic business decisions, lead cross-functional teams, and facilitate the integration of AI with corporate objectives. The emphasis on improving user engagement and driving AI adoption across business processes showcases a broader vision and strategic thinking, characteristic of a leader who can navigate both technical and business landscapes without needing to delve into technical specifics.
And now, this last one:
Machine Learning Engineer at [Company]: June 2020 to Present
Oversaw the machine learning team at [Company], directing project initiatives from conception to deployment with a keen focus on scalable solutions. Mentored junior engineers, fostering a collaborative environment that accelerated the team’s delivery speed by 30%. Designed and implemented a robust ML pipeline that reduced model training time by 50%, enhancing the team's ability to rapidly iterate and deploy AI models in production environments.
Here we have a strong candidate! The emphasis here is on technical oversight, team leadership, and process improvement, signaling a role that is hands-on with technology while also managing a team. Mentioning mentoring, accelerating delivery speed, and implementing a robust ML pipeline indicates a blend of technical mastery and leadership. This persona is responsible for guiding the technical direction and ensuring the team's productivity and growth, indicative of someone who leads by example in both technical and managerial capacities.
The specifying the technical skills
One important characteristic to understand when we read a resume is the level of expertise of the candidate.
If the candidate has low expertise, they won’t be able to perform more advanced tasks, and if they have high expertise, they will get bored working on basic problems. So, it is important to specify the technologies used. Let’s look at this vague description:
I developed machine learning models for customer segmentation
One way we could be specific:
Implemented logistic regression for customer segmentation using Python's scikit-learn, improving marketing targeting by 20%.
and another way:
Led a deep learning project for customer segmentation using TensorFlow and Keras, boosting campaign precision by 40% and deploying models with Docker and TensorFlow Serving on GCP.
Structuring your resume
The different sections
Depending on what stage of your career you are in, there will be different ways to structure your resume.
For entry-level, I suggest this structure:
Objective Statement: Briefly state your career goals and enthusiasm for starting a career in machine learning.
Education: Highlight degrees, relevant coursework, and projects, especially if lacking extensive work experience.
Skills: List relevant technical skills, including programming languages, tools, and technologies.
Work Experience: Include internships or part-time roles; focus on responsibilities and achievements related to machine learning or data analysis.
Projects: Detail academic or personal projects that demonstrate your machine learning skills. Include outcomes and technologies used.
Certifications/Courses: List any additional machine learning or data science courses or certifications.
Awards and Honors: If applicable, showcase any academic or project-related recognitions.
Extracurricular Activities: Include if they demonstrate relevant skills or leadership experience.
For Mid-Level or Technical Lead:
Professional Summary: A concise overview of your machine learning experience, highlighting key skills and significant achievements.
Work Experience: Start with the most recent position. Focus on leadership roles in projects, technical achievements, and impact. Use bullet points to detail your responsibilities and accomplishments.
Skills: List advanced technical skills and tools, emphasizing leadership skills and project management tools if applicable.
Education: Briefly list degrees and relevant continuing education; focus less on coursework and more on advanced degrees or certifications.
Projects: Highlight significant projects where you played a key role, especially those that had a notable impact or involved innovative solutions.
Certifications/Courses: Include advanced or specialized certifications relevant to machine learning and leadership.
Awards and Recognitions: Professional achievements, patents, or publications.
Professional Associations: Membership in relevant professional organizations.
Senior-Level or Strategic Leader:
Executive Summary: Capture your extensive experience, leadership roles, and strategic contributions in machine learning and AI.
Work Experience: Prioritize leadership positions, strategic initiatives you've led, and the tangible impact of your work (e.g., revenue growth, process improvements). Highlight your role in mentoring and team building.
Key Projects: Select high-impact projects that demonstrate strategic vision and successful execution.
Skills: Focus on high-level technical skills, leadership capabilities, and strategic planning. Highlight expertise in scaling machine learning operations or integrating AI into business strategies.
Education: List degrees and relevant executive education or leadership programs.
Certifications/Courses: Include only those with significant relevance or prestige.
Professional Associations and Leadership Roles: Emphasize leadership roles in professional organizations or boards.
Awards, Publications, and Patents: Highlight major industry recognitions, influential publications, or patents you hold.
Tailoring to the potential readers
Your resume is likely to be read by 3 different readers:
Applicant Tracking Systems (ATS)
Recruiters / human resource
Hiring managers
So it is important to make sure each of those will find value in your resume. Here are a few advice to make it work better.
Use ATS-Friendly Formatting:
Simple Layout: Use a clean, straightforward format with standard fonts like Arial or Times New Roman. Avoid headers, footers, or tables that might confuse an ATS.
File Format: Submit your resume in a widely accepted format, such as .docx or PDF, ensuring the PDF is not saved as an image.
Incorporate Keywords:
Job Description Alignment: Carefully read the job description and identify keywords and phrases related to skills, tools, technologies, and responsibilities. Integrate these naturally into your resume, especially in the Skills and Work Experience sections.
Industry Terminology: Use common industry terms and job titles that both ATS and human readers expect for your role.
Highlight Achievements with Quantifiable Metrics:
Use bullet points to describe your accomplishments in previous roles, emphasizing outcomes that can be quantified or measured. This appeals to hiring managers by demonstrating the tangible impact of your work.
Use action verbs (e.g., developed, led, improved) to start bullet points in your experience section, making your contributions clear and impactful.
While ATS focuses on technical keywords, human readers value soft skills (e.g., leadership, communication). Include these where relevant, ideally in the context of how they were applied in your work experience.
Clear Section Headings:
Organize your resume with clear, conventional section headings (e.g., Work Experience, Education, Skills). This helps both ATS and human readers quickly find relevant information.
Include a brief professional summary at the top of your resume to introduce yourself, summarizing your key qualifications, experiences, and career objectives. This sets the context for both ATS and human readers.
Tailor Content for the Audience:
For Recruiters: They might not be experts in your field, so explain your skills and achievements in accessible language, avoiding overly technical jargon unless it's a keyword.
For Hiring Managers: They're interested in how you can solve their problems and fit into the team. Tailor your resume to address the specific requirements and challenges mentioned in the job description.
For ATS: Besides keywords, ensure your resume's format is ATS-friendly, as mentioned above.
Proofread and Test:
Error-Free: Ensure your resume is free of spelling and grammatical errors, as these can negatively impact readability and ATS parsing.
ATS Test: Consider using online tools or services that simulate how an ATS reads your resume, providing insights on areas for improvement.
Apply to jobs!
Applying for jobs is a full-time job, so make sure to dedicate enough time to this process.
Where can you get a job in machine learning
What are the best companies to apply your Machine Learning skills? There are many aspects to consider, but I believe one very important one is the maturity of the ML effort.
I see 3 clear classes of companies out there:
Those that have no clue about ML: this is most of the corporate world! ML has definitively no impact on revenue, and the leaders have no idea how to extract value from ML. They don’t have the right data, they don’t have the right applications, they don’t have the right data infrastructure, they don’t have the right people. Those companies might be a sweet spot for consultants or maybe people with an entrepreneurial mindset. A newcomer in such an organization will need to wear many engineering hats, be an AI advocate, be an AI salesperson, argue for the right budget allocation, and lead projects without much belief from his/her peers… It can be fun, but it will be exhausting, and the most simple trivial steps will be a challenge, especially in a big company where the inertia is high! If you are not an entrepreneur, you will be bound to work on low-impact and low-scale projects that will not help you to grow much as an ML expert.
The companies that are on the way to becoming successful with ML: I think we are seeing more and more of those types of companies nowadays. The leaders understood the value of ML, and a good budget is allocated to the effort. Usually, a sizable piece of current or future revenue is bet on ML. A clear proxy to recognize those companies is how much they are investing in MLOPs. They are thinking about feature stores, ML monitoring, the tight coupling between the serving pipeline and the training pipeline, the data needed for continuous updates of the models, or future ML development endeavors. I think those companies are a sweet spot for generalists. The systems are immature enough that you will need to wear multiple hats. You will be able to think about new ML products alongside the ML system design, data engineering pipelines, or the right ML algorithms. You probably won’t have time to think too much about the latest algorithm as there might be lower-hanging fruits to grab first.
The mature companies in ML: those are basically the FAANGs and similar big tech companies. ML is an integral part of the revenue, and the MLOPs are bleeding edge. Think about Google, it is the biggest adtech (== ML) company in the world! Those companies might be a sweet spot for the specialists. In those companies, you will focus on very specialized problems with very specialized tools. You will not be able to think about data engineering alongside ML development. You will be able to implement the latest algorithms at scale and work closely with R&D departments. The infrastructures, the teams, or the scales of the data in general are huge in those companies, and there is a real inertia in doing anything. It is harder to move fast like in a startup.
Should you work in a startup or in a big tech company? I think there are a couple of clues and red flags to look out for!
A small startup (1-50 people) that doesn’t have a business model directly tight to ML is unlikely to be able to make good use of ML. It is too small to really invest correctly in the underlying tools or data. They need to focus on 1 or 2 products, and their time and money cannot be cannibalized by an ML effort. They may think they need ML but most of the time, the leaders don’t have the expertise to really make an educated decision on the subject. In the end, they might need 0 or 1 model being deployed, but then, the ML people end up doing some non-ML analytical work, or they get fired. The ML/revenue coupling is a strong indicator of a healthy ML practice. If ML is not coupled to the revenue, during any financial hardship, the ML people will be the first ones to be laid off.
In general the company size can be quite correlated with the ML maturity. A low ML maturity will give you the opportunity to wear many hats: you will need to be the ML expert as well as the data analyst, the data engineer, a back engineer, the product manager, the AI advocate, … To me, that the best way to learn to see the big picture but it is also a risk to work in a badly thought through structure if the right people are not hired.
A startup is great for people with a scrappy entrepreneur mindset who want to build things from 0 to 1 and want to understand how ML relates to the business. A big tech company (and ML mature) might be a great place for people who want to dig deep into the details of a specific application but don’t care as well much about the big picture. An important point, it is also MUCH easier to get a sense of impact when you work in a startup compared to a big company, especially if you are directly impacting the revenue. In a startup, your skills are more likely to be unique compared to your colleagues as the teams are much smaller. Unfortunately, in a big tech company, it is easy to start feeling unimportant when you work on very small items, and you are surrounded by so many smart people with the same skills as yours.
Preparing for interviews
In machine learning, you are likely to go through the following types of interviews:
Leetcode-type problems
Machine Learning fundamentals
Machine Learning system design
System design
Specialized ML
Behavioral Interviews
For algorithm problems, I recommend doing a quick on the different types of algorithms that are expected, for example, by using the following books:
Choose the book that works for you, but then, the important is to practice on LeetCode or similar websites. Many people might recommend the following book to learn about algorithms, but be careful because it is not at all adapted to a level that is expected during interviews:
For ML fundamentals, I suggest learning about traditional ML and Deep Learning. Here are two classical books:
In general, for industry applications, I would not consider Reinforcement Learning to be part of Machine Learning Fundamentals, but it is becoming more and more important to know the basics. If you need to specialize in RL, it will be necessary for you to read the RL bible:
If you need a quicker overview of deep learning applied to RL, I would suggest the following books:
For ML system design interviews, I suggest the following book:
And the following course:
It can also be good to go through the following book to get a bigger overview that is not interview-focussed:
For system design interviews, I recommend the books by Alex Xu:
To get a greater overview of the field, beyond interviews, I suggest to read cover to cover the following book:
For specialized Machine Learning, like LLMs or MLMs, it is important to be curious and keep up to date. There are many ways to go about and make sure to find what works for you:
newsletters
blogs
LinkedIn
articles
...
Behavior interviews, and it is good to be ready. During behavioral interviews, employers are looking to assess how you've handled various situations in the past with the belief that past behavior is the best predictor of future behavior. Specifically, they aim to evaluate:
Competencies and Skills: Employers are assessing whether you have the skills and competencies required for the job. This includes both hard skills (technical abilities) and soft skills (like teamwork, communication, leadership, and problem-solving).
Problem-Solving Abilities: Your ability to identify problems, analyze situations, and come up with effective solutions is crucial. Employers want to see that you can approach challenges methodically and creatively.
Decision-Making Process: How you make decisions, especially under pressure, reveals a lot about your judgment, priorities, and values. Employers are interested in the criteria you use to make decisions and how you balance different considerations.
Adaptability and Flexibility: The ability to adapt to changing situations and overcome obstacles is highly valued. Your responses can show how flexible you are and how well you handle unexpected challenges.
Teamwork and Collaboration: Regardless of your role, being able to work effectively with others is essential. Employers look for evidence of how well you collaborate, communicate, and contribute to a team's success.
Leadership and Initiative: For roles that involve leading others or managing projects, employers assess your leadership style, how you motivate and guide teams, and how you take initiative to drive results.
Work Ethic and Commitment: Your professional attitude and commitment to your work can be gauged through your past actions. Employers are looking for candidates who are reliable, dedicated, and passionate about what they do.
Cultural Fit: Beyond skills and experience, employers want to ensure that you'll thrive within their company culture. Your responses can indicate whether your values and work style align with those of the organization.
Learning and Growth: Employers are interested in your capacity for growth and learning. Demonstrating that you can learn from experiences, accept feedback, and continuously improve is crucial.
Conflict Resolution: How you handle conflicts and resolve disputes is important, especially in collaborative environments. Employers look for candidates who can navigate disagreements constructively.
Preparing for behavioral interviews involves reflecting on your past experiences, understanding the competencies that the employer is looking for, and practicing how to articulate your experiences in a way that demonstrates your skills and fit for the role. Here’s a structured approach to preparing for behavioral interviews:
Understand the STAR Method: Behavioral interview questions are best answered using the STAR method, which stands for Situation, Task, Action, and Result. This framework helps you structure your answers by describing the context of the situation, what your objective was, what actions you took to address it, and the outcome of those actions.
Review the Job Description: Carefully read the job description to identify the key skills and competencies required for the role. Commonly sought-after skills include teamwork, leadership, problem-solving, adaptability, communication, and conflict resolution.
Reflect on Your Experiences: Think about your professional, academic, and extracurricular experiences. Identify instances where you demonstrated the skills relevant to the job. Prepare stories that showcase these skills, trying to cover a variety of situations.
Practice Using the STAR Method: For each experience you’ve identified, outline your answer using the STAR framework. Ensure your story is clear and concise, focusing on your actions and the results you achieved.
Situation: Set the scene and provide the necessary context.
Task: Describe what your responsibility was in that situation.
Action: Explain exactly what steps you took to address it.
Result: Share the outcomes of your actions. Highlight what you learned and how it applies to the role you’re interviewing for.
Research the Company: Understanding the company’s culture, values, and mission can help you tailor your answers to align with what they’re looking for in a candidate. Incorporate your understanding of the company into your answers where relevant.
Prepare Questions for the Interviewer: Behavioral interviews are also an opportunity for you to assess if the company and the role are a good fit for you. Prepare thoughtful questions to ask the interviewer about the company culture, team dynamics, and expectations for the role.
Practice, But Don’t Memorize: While it’s important to have your experiences and examples at the ready, avoid memorizing your answers word for word. Your responses should come across as natural and genuine.
Seek Feedback: Practice your answers with a friend or mentor or through a mock interview. Constructive feedback can help you improve your delivery and content.
Mind Your Non-Verbal Communication: Pay attention to your body language, eye contact, and tone of voice. Non-verbal cues can significantly impact how your message is received.
Stay Positive and Reflective: Even if discussing a challenging situation, focus on the positive aspects, such as what you learned or how you grew. Employers appreciate candidates who can reflect on their experiences and demonstrate resilience.
Excellent article. Thank you.