ML Engineer (Machine Learning Engineer)
An ML Engineer designs, trains and integrates machine learning models into software used by customers or teams within the company.
Written by Romain PichouPublished on Updated on
ML Engineer: hiring for this role?
First candidates presented within three weeks.
Definition and scope
A Machine Learning Engineer (ML Engineer) is a specialist in software development and machine learning. They design, train and adapt models for use in products and services. Their work connects the model's behaviour with the operation of the software that uses its results.
They select the necessary data, choose an approach suited to the problem and evaluate performance. They also develop code to make processing reproducible and collaborate on integrating the model into existing systems. The role therefore combines modelling decisions with software design, testing and documentation requirements.
ML Engineer, Data Scientist and Data Engineer: who does what?
- With the Data Scientist, clarify how experimentation, model selection and the transformation of models into usable software components are shared.
- With the Data Engineer, define the boundaries of work on data flows and the preparation of training datasets.
- With the MLOps Engineer, clarify responsibilities for the platform, deployment and monitoring in production.
These responsibilities can overlap depending on the organisation. The presence of related skills in a role does not make the professions interchangeable or automatically place the entire platform under the ML Engineer's responsibility. This profile covers software engineering specialising in machine learning. It does not describe a research position or a role dedicated to operating large language models.
Why this hire matters
The challenge is to turn a trained model into a software function whose behaviour meets the company's expectations. Model quality must be assessed against the problem to be solved. Integration also requires maintainable code, tests and coordination with the people responsible for the existing system.
Before recruiting, specify the results the application must produce and the criteria for judging them. A candidate who can improve a metric must also be able to explain what that improvement contributes to the intended use. Conversely, strong software experience alone does not establish their ability to choose and evaluate a model.
Hypothetical example: a team has a scikit-learn model whose experimental results meet its objective. However, differences between the dependency versions used in training and production can cause errors or unexpected behaviour. Before integrating the model into an application, the team must therefore identify the versions used and check that it works in the intended environment. Assigning only a new round of training to the person recruited would leave this integration difficulty without anyone explicitly responsible for it.
Salaries 2025-2026
| Level and experience | Annual gross base |
|---|---|
| Junior0-2 years | 45–60 k€ |
| Mid-level2-5 years | 60–80 k€ |
| Senior5-8 years | 72–95 k€ |
| Lead / Staff8+ years | 95–130 k€ |
Paris market ranges, 2025-2026.
Outside the Paris region, expect 10 to 20 % less.
Key missions
- Translate the business need into a modelling objective and evaluation criteria with the relevant stakeholders.
- Select and prepare the data needed to train the model.
- Design, train or adapt a model according to the problem and the available data.
- Evaluate the model's results against expected performance.
- Develop reusable, tested and documented code for model-related processing.
- Collaborate on integrating the model into existing systems.
- Contribute to monitoring, retraining and improving models with the teams responsible.
Skills
Technical skills
- Software development: design, code, test and document programs that meet the system's constraints.
- Data preparation: select and process datasets relevant to the learning objective.
- Applied mathematics and statistics: connect the characteristics of the data with appropriate analytical methods.
- Modelling: choose a learning approach, train a model and adjust an existing model.
- Evaluation: interpret metrics and assess results against expected performance.
- Software integration: connect the model to an existing system in collaboration with those responsible for it.
Expected qualities
- Listening: understand the expectations of business and technical stakeholders to clarify the problem to be solved.
- Clarity: explain model choices and their limitations to people with different expertise.
- Collaboration: coordinate work on the model with the work of data and software specialists.
- Managing expectations: distinguish established results from points that still require evaluation.
Common stack
Background and training
French engineering degrees (diplômes d’ingénieur) and master's degrees in computer science specialising in artificial intelligence are among the routes presented by Onisep. They provide a framework for examining a candidate's knowledge and skills, without being a hiring requirement or a guarantee of autonomy on a production system.
Useful software skills include program design, structuring reusable code and testing. In mathematics, applied statistics help connect the characteristics of the data with the learning method and the intended objective. Choosing a model and interpreting metrics require knowledge distinct from proficiency with a library.
Specialist courses and practical work can complement this background. Google notably offers courses and labs to prepare for its certification. However, certification does not replace an examination of completed software work and is not enough to establish programming ability.
Hiring this profile
When to hire
The need becomes concrete when a model must be trained, adapted or integrated into software and someone needs to be explicitly responsible for this work. First describe the intended function within the product, the available data and the software that must use the model's results. This gives you a more precise objective for the role than simply developing AI.
If the project is still exploratory, clarify the questions to be answered before defining the role you need to recruit for. Are you looking to examine whether an approach is suitable, build the model or prepare it for use in an application? Divide the work with the specialists already in place. This clarification helps establish the ML Engineer's role and the expected collaboration with data science.
When an initial model exists, examine what remains to be done: adapting its training, evaluating its results, producing reusable code or working on integration. Also specify who will handle monitoring and retraining decisions. For someone who will need support, identify a person capable of reviewing their technical choices.
If the main difficulty concerns data flows, consider whether you need a Data Engineer instead. If it concerns the ML platform and operations, clarify the contribution expected from an MLOps Engineer. A role should not absorb these responsibilities by default.
The deciding factor is the ongoing modelling and software engineering work that needs to be covered. If you first need to clarify a specific technical difficulty, consider a one-off engagement with an expert to define the necessary work before deciding the scope of a position.
Career path
Technical progression can extend an ML Engineer's responsibility to the most complex models, software standards and coordination of the move into production. The British framework describes a lead role that defines ways of working and identifies training needs for engineers and related professions.
This type of progression combines expertise with support for teams. It does not, on its own, demonstrate line management responsibility. If you are preparing a move into management, explicitly distinguish technical responsibility from decisions concerning people.
For a path focused on expertise, specify the design decisions and integration difficulties entrusted to the engineer. For broader responsibility involving others, define the work to coordinate and the colleagues to support. These developments depend on the organisation's needs and represent neither automatic promotion nor a career timetable.
How to assess this profile
GetPro structures assessment around a set of prioritised criteria. This method distinguishes what can be verified in a candidate's background from what needs further exploration in an interview, with an assessment method for each criterion. Open questions call for concrete examples. Reference checks help cross-check the responsibilities held and the skills examined.
The applications to the ML Engineer role suggested below are recommendations to adapt to the position and the expertise available in your team. They do not describe a specific protocol used by GetPro.
1. Define the criteria and assessors
Build an assessment framework around data selection, modelling, software quality and integration. For each criterion, specify which decisions the person is expected to make independently and which will receive support.
Involve a business stakeholder in examining the need and an ML specialist in the technical analysis. If your company lacks this expertise, bring in an expert capable of examining the code and model choices.
Probe answers that mention tools without explaining their usefulness in addressing the role's constraints.
2. Examine a past project
Choose a project with the candidate for which they can describe their contribution precisely. Ask them to present the objective, the data used, the experiments conducted and the results evaluated.
Examine the transition from model to software: reusable code, tests, documentation and collaboration with those responsible for the system. Distinguish their contribution from what was already available. Invite them to explain the limitations of the result and the difficulties encountered.
3. Set a task close to the role
Prepare an exercise limited to the decisions actually expected in the role. Provide the necessary information and specify which points require an explanation rather than a complete implementation.
Hypothetical example: you present an existing model and an application into which it must be integrated. Ask the candidate to specify the data to examine, the evaluations needed and the software elements to test.
Invite them to justify the choice to retain, adapt or retrain the model. Assess the coherence of their reasoning and their ability to identify missing information. A definitive conclusion reached without examining the available data or expected performance warrants further exploration.
4. Observe communication and coordination
Ask the candidate to explain a technical choice to the business stakeholder. Observe whether they make its consequences and the limitations of the evaluation understandable.
Explore how work is shared with other specialists, particularly when responsibility for integration or retraining is shared.
For a lead role, examine a situation involving technical coordination or support for other engineers. If the position includes line management, assess that responsibility separately.
5. Cross-check responsibilities held
With the candidate's consent, ask someone they previously worked with to clarify their contribution, the decisions they made and the collaboration observed. Base the discussion on the responsibilities of the prospective role and ask for concrete examples.
Compare this information with the project account and observations from the exercise. Examine any discrepancies before reaching a conclusion. Distinguish a lack of exposure to a situation from difficulty explaining it.
Bring the observations together by criterion, specifying established points, uncertainties and the support needed.
Frequently asked questions
Do you need to train a model from scratch to need a machine learning engineer?
No. Adapting, optimising or retraining an existing model can also fall within the role. The transfer learning described in Keras illustrates the reuse of networks that have already been trained. Before choosing this route, examine how well the model fits the problem and the available data. The need may concern this adaptation and the software integration that follows.
How can you assess a candidate's work when their code is confidential?
Suggest an anonymised technical account or a tailored exercise, without requesting confidential files. Invite the candidate to explain the problem, model choices, tests and their personal contribution. You can ask them to reconstruct a simplified diagram of how it works. This gives you material to assess their reasoning without requiring them to disclose an employer's work.
Is ML experience in another sector relevant to the role?
It is worth examining, without assuming that the transfer will be automatic. Distinguish development and modelling capabilities from knowledge of the data and objectives specific to your business. Ask the candidate what information they would seek before choosing a method. The way they identify the particular features of the new problem helps you assess the support needed.
What should you clarify before assigning responsibility for taking over a model developed by an external provider?
Clarify the materials available and the responsibilities after handover. For a scikit-learn model, the documentation recommends keeping the training data, Python code, dependency versions and cross-validation scores. Use these points to prepare the technical examination of the model being taken over. Their availability alone does not guarantee that every model can be taken over successfully.
How should you interpret the ML Engineer salary information in this profile?
The grid presents gross annual fixed pay ranges in euros for the French market, with a Paris focus, for 2025-2026. It does not provide total remuneration package ranges. To compare an offer, distinguish fixed pay from other remuneration components and compare the stated level with the responsibilities actually assigned. Experience bands alone do not establish technical autonomy.
Sources and method
- Onisep : Ingénieur / Ingénieure machine learning (apprentissage automatique)
- Government Digital and Data : Machine learning engineer
- Google Cloud : Professional Machine Learning Engineer
- scikit-learn : Model persistence
- Keras : Transfer learning & fine-tuning
Related job profiles
- Data scientistA data scientist analyses data and builds statistical models to help business teams answer their questions and make decisions.
- Data EngineerBuilds and operates the pipelines that collect, move and expose data at scale: ingestion, warehouse, orchestration.
- MLOps EngineerThe MLOps Engineer automates the deployment of machine learning models to production and organises monitoring for the teams that operate them.
About the author

Co-CEO
Romain Pichou a cofondé GetPro en 2015 avec Émile Pennes. Diplômé de l'ESCP Business School, il a débuté sa carrière dans des entreprises technologiques en forte croissance (Winamax, Betclic, Lucca où il dirigeait les ventes de la suite SaaS RH, puis ContentSquare).
Chez GetPro, il est l'associé référent des recrutements Tech, IA et Produit : CTO, VP Engineering, Head of Data, direction produit. Il intervient sur les mandats de direction technique, du cadrage du besoin à l'évaluation des candidats.