Job profile

Machine learning engineer

Machine learning engineers combine software engineering, AI, and data analysis, enabling systems to learn without the need for further programming

As a machine learning engineer, you'll be responsible for creating programmes and artificial intelligence (algorithms) that allow machines to take actions without human direction. Examples include a self-driving car or a customised newsfeed on a website.

You're enabling computers to learn automatically and improve from experience, without further programming. There may be some cross-over with other disciplines, including:

  • computational statistics
  • data mining
  • exploratory data analysis
  • mathematical optimisation
  • predictive analytics.

What does a machine learning engineer do?

As a machine learning engineer, you'll need to:

  • understand and use computer science fundamentals, including data structures, algorithms, computability and complexity and computer architecture
  • use exceptional mathematical skills to perform computations and work with algorithms and AI systems
  • produce project outcomes and isolate issues that need to be resolved in order to make programmes more effective
  • collaborate with data engineers to build data and model pipelines
  • manage the infrastructure and pipelines needed to bring code to production
  • demonstrate end-to-end understanding of applications, including, but not limited to, the machine learning algorithms being created
  • build algorithms based on statistical modelling procedures and maintain scalable machine learning solutions in production
  • use data modelling and evaluation strategy to find patterns and predict unseen instances
  • apply machine learning algorithms and libraries
  • lead on software engineering and software design
  • communicate and explain complex processes to people who are not programming experts
  • liaise with stakeholders to analyse business problems, clarify requirements and define the scope of the resolution needed
  • analyse large and complex datasets to extract insights, deciding on the appropriate technique
  • research and implement best practices to improve existing machine learning infrastructures
  • provide support to other engineers and product managers in implementing machine learning in the product.

How much does a machine learning engineer earn?

  • At entry level as a graduate, you can expect to earn between £33,000 and £39,000.
  • With three to five years of experience, machine learning engineers in the UK can earn up to £81,000 and, in some cases, as much as £93,000.
  • At senior level, or in a specialised or lead role, salaries can be in excess of £140,000. For large, multinational companies, such as Google or Facebook (Meta), experienced machine learning engineers can be on much more, sometimes over £200,000.

Contractual working is an option and pays around £575 per day for a mid-level machine learning engineer. Salaries vary and are based on qualifications, specialisms, and experience.

Benefits can include a company pension scheme, private medical insurance and discretionary bonus.

Income figures are intended as a guide only.

How many hours does a machine learning engineer work?

Working hours are usually 9am to 5pm, Monday to Friday. You may need to work extra hours or at weekends, depending on the project you're working on. There may be some flexibility with your employer about taking time off. Holiday options vary but are typically generous.

It's worth noting that, as the role involves working with complex systems and at computers for long amounts of time, high levels of concentration and attention to detail are necessary. Typically, the work is office-based, so dress codes may vary from company to company.

Contract work on projects is possible, which can be on a part-time or freelance basis. There may also be opportunities for remote or hybrid working.

How do I become a machine learning engineer?

Machine learning is a rapidly developing field due to advances in artificial intelligence (AI), including areas such as deep learning and reinforcement learning. As such, most employers look for a Masters degree or a PhD in a relevant discipline.

Because of the speed of the industry, there currently aren't many courses focusing solely on machine learning. However, a qualification in a related field, such as computer science, statistics, electrical engineering, mathematics, or physical sciences is widely accepted at undergraduate level before progressing into a more specialist course.

Similarly, a Masters degree in a subject that has machine learning as a key element is widely accepted, along with relevant experience in the field.

Experience in computer programming is a must, and many employers expect applicants to have knowledge of Java, Python, and C++. Many also ask for an industry background in computer programming.

It's possible to enter without a degree, provided you have the necessary skills and undertake a relevant course. If you have experience in data or statistical analysis, you can take a course on machine learning engineering with Udacity. Teesside University offers a Skills Bootcamp in Artificial Intelligence and Data Science Foundations.

If you're interested in studying to become a machine learning engineer and you have a relevant undergraduate degree, search postgraduate courses in machine learning.

Machine learning engineering skills

You'll need to be able to demonstrate:

  • exceptional mathematical and analytical skills, as you'll need to perform computations and work with algorithms
  • the ability to explain complex process to people who aren't programming or AI experts
  • high attention to detail and the ability to focus for long periods of time
  • the ability to work with large, complicated datasets.

In some positions, depending on seniority, you may also need to demonstrate the following:

  • leadership and management of both teams and projects
  • detailed knowledge of machine learning evaluation metrics and best practice
  • strong Python coding skills, as well as knowledge of other programming languages, such as C++ and Java
  • Linux SysAdmin skills
  • competencies in messaging (including, Kafka, RabbitMQ, ZeroMQ), distributed systems tools (such as, Etcd, zookeeper, consul), and infrastructure as code (Terraform, Cloudformation, and similar)
  • a portfolio of your past experience (include any blogs, talks, contributions to Open Source, Kaggle).

Where can I get machine learning engineer work experience?

If you wish to seek relevant work experience, you can often undertake an internship or placement during your degree. However, taking the initiative to learn the required coding and programming skills on a personal level, will also be helpful in job applications. As the role is a relatively new one, there can be flexibility, and in many cases, gaining some closely related experience and the necessary qualifications will be enough.

Find out more about the different kinds of work experience and internships that are available.

Who employs machine learning engineers?

Machine learning engineers are in high demand in a range of sectors. For example, you could be working for a large technology company, in the medical profession, an engineering company, or within internet security. There are almost limitless possibilities with this technology, so employment opportunities are likely in many fields.

The main players are the big organisations with well-developed IT systems, landing large contracts, including the likes of Amazon, Meta, Apple, Huawei, and more. They often run their own graduate schemes.

Look for job vacancies at:

You can also try specialist recruitment firms such as Electus Recruitment and Understanding Recruitment.

There are a growing number of opportunities to work freelance or on a contractual basis, as well.

Where can a career as a machine learning engineer lead?

There are opportunities for recent graduates within the field of machine learning. Progressing to a senior level often involves managing a team. Additionally, large multinational technology companies may offer the best prospects for career progression as well as the highest salaries.

Freelance and remote opportunities are available and some graduates go on to form their own companies.

Continually updating your skills and knowledge is a requirement throughout the IT industry and can be done through:

  • in-house training courses, which are more typical in larger organisations
  • specific application, language, or operating system courses (such as Linux)
  • private study, such as the AWS Machine Learning Engineer Nanodegree offered by Udacity
  • additional qualifications relating to the job or to enhance other skills, including leadership and management, can be undertaken as part of continued professional development (CPD).