Skip to content

Home / Hire engineers / ML engineer

An ML engineer trains models on data only your company has

A hosted model knows the world in general, not your calls, your customers or your products. Most teams need one engineer who works out whether a model of their own is worth building, labels the right examples, trains candidates against the rule they use today and says plainly when the data will not support one. That is the role we staff.


Profiles in three daysYou interview and chooseClaude Code Partner

When a trained model beats a borrowed one, and what the engineer does first.

An ML engineer is worth hiring when the data is yours and the task is too narrow for a general model. Each situation below comes with the work the engineer does first.

  1. Calls or tickets too many to review

    Recordings, tickets or notes arrive faster than anyone can read them, so only a sample is ever checked.

    The work

    • A labelled sample for training and testing
    • Transcription tuned to your terms and accents
    • Categories agreed with the people using them
  2. A paid API sorting one kind of record

    A large hosted model is paid per call to tag, route or score the same kind of record, all day.

    The work

    • A compact classifier trained on your examples
    • Both scored on the same test set
    • Hosted model kept where it still wins
  3. Accuracy stopped improving

    Each new architecture or bigger model moves the score a fraction, or not at all, and nobody knows why.

    The work

    • Wrong predictions read one by one
    • Labels audited before the model changes
    • A learning curve: would more data help?
  4. Too few labelled examples

    The data exists, but only your experts can say what each record means, and their time is short.

    The work

    • A labelling guide your experts sign off
    • The hardest examples labelled first
    • Disagreements settled, not averaged
  5. Images still checked by eye

    Product photos or camera frames are inspected one at a time, and the backlog sets the pace.

    The work

    • Vision models fine-tuned on your images
    • Test images for each camera and lighting
    • Boxes or masks where position matters
  6. A forecast nobody trusts

    Demand or delay forecasts come from a spreadsheet rule that misses every peak, so people override them by hand.

    The work

    • Today's rule kept as the baseline
    • Errors broken down by product and week
    • Shipped only if it beats the rule

From your records to a model worth running.

Five stages between the records you already hold and a model that answers inside your product. An ML engineer is hired because the first two take longer than teams expect, and decide most of what any model can learn.

  1. 01

    Data and labels

    Passed

    Records pulled from where they live, checked for gaps and duplicates, and labelled to a written guide that your domain experts agreed.

    SQL, Label Studio
  2. 02

    Features

    Passed

    Raw records turned into model inputs as tested code, computed only from what is known at the moment the prediction is made.

    pandas, Polars
  3. 03

    Training

    Passed

    Candidates trained from simple to complex against the same baseline, with every run logged, stopping when extra complexity stops paying for itself.

    PyTorch, TensorFlow
  4. 04

    Evaluation

    Blocked

    Scores on data the model never saw in training, broken down by customer group, with the wrong predictions read one at a time.

    scikit-learn, Deepchecks
  5. 05

    Inference

    Waiting

    The model exported with its preprocessing behind a prediction service or a batch job, plus a model card that lists what it gets wrong.

    ONNX Runtime, FastAPI

What the role works with, by kind of data.

The stages above use the same tools on every project. These change with the data, whether sound, text, images or rows in a table, plus the practices that keep experiments honest.

Speech and language

Pretrained speech and text models adapted to your vocabulary, accents and categories, rather than trained from nothing on too little data.

  • Whisper
  • Hugging Face
  • spaCy

Computer vision

Detection, classification and segmentation for photos and video frames, tested on images from every camera and condition the model will meet.

  • OpenCV
  • torchvision
  • Ultralytics YOLO

Tabular and forecasting

Gradient-boosted trees and plain regression for business records, where they often beat deep learning at a fraction of the training cost.

  • LightGBM
  • XGBoost
  • CatBoost

Experiment tracking

Every run logged with its data version, settings and scores, so a result can be reproduced and nobody repeats a dead end.

  • Weights & Biases
  • Optuna

Explaining predictions

The inputs behind each prediction, shown in a form that the people acting on it can question and push back on.

  • SHAP

Notebooks to code

Exploration happens in notebooks, but anything a model depends on moves into tested Python modules in your own repository.

  • Jupyter
  • pytest

Seniority, and which model decisions each level owns

Levels differ in how open a question the engineer can take on alone: a model to improve, a problem to frame, or whether ML belongs in the product at all.

Mid · 3–5 years
Improves a model whose metric and data split a senior engineer has set: cleans data, adds features, runs training experiments and reports what each change did to the errors. New data sources and changes to how labels are defined go to a senior engineer for review.
Senior · 5–8 years
Takes a business question to a working model alone. Agrees the metric and the baseline with the people who act on the predictions, designs the labelling, chooses the model family and signs the model card at hand-over. Decides when a model is not worth building.
Lead · 8+ years
Decides where trained models pay across several products and where rules or a hosted model do the job instead. Sets the evaluation and labelling standards other engineers follow, and is the person who says whether an accuracy or fairness claim will hold up under questioning.

AI-assisted ML engineering, with a senior engineer answering for every model.

Coding agents draft the repetitive half of ML work: cleaning scripts, feature code, training loops and evaluation reports. The half where a mistake becomes a wrong prediction stays with the engineer: what counts as a label, how the data is split, which features exist at prediction time and whether a model ships.

PR · delivery-delay featuresDrafted with an agent

Example · feature review

  • Added Feature: warehouse backlogknown at order
  • Changed Label: late after promised dateagreed with ops
  • Removed Duplicate rows from re-importsdedup check
  • Added Feature: post-dispatch scansHuman decision

One feature uses data from after dispatch

Senior ML engineerTraced each feature to when it is knownOne line held
Retrain without scans

Baselines and candidates written sooner

Agents write the code for each candidate model and its evaluation report, so the engineer compares more approaches on the same held-out data before committing to one.

Every generated feature is traced before training

Nothing an agent writes reaches training until the engineer has checked where each value comes from and whether it exists at prediction time. A leaked feature makes a model look better than it is.

Labels, splits and release stay human decisions

What counts as a correct label, which data stays out of training and whether a model replaces the current one are the engineer's decisions. An agent may propose a label; it never defines one.

From your requirements to matching developers in 3 working days.

You do not need to enter a long recruitment process before you know whether we have the right people.

Senior ML engineer

7 years · ImproveIT engineer

  • Python
  • PyTorch
  • Hugging Face
  • Speech models
English
C1
Overlap with CET
Full working day
Available
In three weeks
Rate
In the proposal

Recent projectSpeech-to-text and script checks for sales calls

Example profile · day 3Book your interview
01

Tell us what you need

Send the role, stack, seniority, required experience, working-hour overlap, team size, and expected start date.

02

Get matching profiles

Within three working days, we send relevant profiles with CVs, project experience, English level, availability, and rates.

03

Interview the developers yourself

Use your own technical interview and selection process. Meet the people who would actually join the team and reject anyone you are not confident about.

04

Start working together

Once you choose, we handle the contract and onboarding. Your developers join your repositories, standups, tooling, and delivery process.

Choose the engagement model that fits the gap.

You can hire software developers through an outsourcing model that matches how much ownership, capacity, and flexibility your team needs. Most clients start with one engineer and grow. Roles and stacks are further down the page.


01

Ad-hoc staff augmentation

One engineer or several, embedded in your team and managed by you. The most common way clients start with us.

Best for a named capability or capacity gap you already understand.

Speed
Profiles in 3 days
Pricing
Per hour
Managed by
You
02

Dedicated team

A complete team for a product, a module or a roadmap stream — engineering, QA, DevOps and design as the work needs it.

Best for stable delivery capacity without hiring every role in-house.

Speed
2–4 weeks to assemble
Pricing
Monthly per person
Managed by
You, or jointly with our lead
03

Recruitment

We recruit for a skill set we do not have on the bench, against your requirements, and the person joins on your contract.

Best for a niche stack, a rare seniority level, or a role you keep failing to fill locally.

Speed
2–4 weeks
Pricing
Per hire
Managed by
You
04

Build, operate, transfer

We hire and run the team in Poland or Ukraine, then hand it over to you as your own staff for direct contracts when you are ready.

Best for opening a development centre in Europe without setting one up yourself first.

Speed
3-4 weeks to build
Pricing
Monthly per person, plus a transfer fee
Managed by
Us, then you

The reason to outstaff is speed. The reason to stay is quality.

Netguru, a 500-person Polish consultancy whose own clients include UBS, has staffed projects with our engineers for more than 8 years. They could hire anyone.

Staff augmentationNetguru, 2018-ongoing

Read the Netguru case study
8+years

Netguru has staffed projects with our engineers

500+people

at Netguru, whose own clients include UBS

Where our engineers built products around speech, text and imaging models.

The first is this role in full: speech, language and scoring. The second is partial: our engineers built the web application that brings AI and ML results to radiologists.

AI sales automationAI Sales Intelligence Platform

Sales calls transcribed, attributed to each speaker and scored against the script

8 engineersTeam
12 monthsPeriod

Sales teams wanted every seller’s calls checked against the script, not a sample. Our engineers built the system on BERT, LLaMA and OpenAI: speech-to-text in 30+ languages and accents, speaker identification, and analysis of answers and voice tone.

Read the AI Sales Intelligence Platform case study
3days

From your requirements to matching profiles with CVs

90%

Of our developers have 5 to 20 years of experience

6years

Our longest continuous engagement, still running

10+

Time zones, with working hours flexed to match your team

What it is like to have our engineers on your team.

“I have worked with ImproveIT for more than 3 years, as a mobile product manager for Photoweb and now as a director of Piiics. In both, the technical challenge is quite high. The dev team has been highly motivated and professional.”

Clement PoursacPhotoweb Group · France

“We work with ImproveIT Solutions for years. Thanks to their support with new talents/developers we were able to proceed with many new projects. For sure we value their employees, we are happy to have them with us and we always do our best to keep them as long as we can in our projects.”

Barbara KucharczykNetguru · Poland

“Their attention to detail is great, and they question us if they think it might be better to solve the issue in a different way. They really care about the product they're building.”

Michael KolomenkinEyeToAi · Israel

“Their ability to advise and provide professional guidance made them a go-to partner. The engineering team demonstrated outstanding dedication and technical skills.”

Yannick BlondeauHotel-Spider · Switzerland

“They understand the needs and manage the project seamlessly. They stand out for their professionalism, skills, and the quality of the candidates they provide.”

Andrew NolanAnitech Solutions · Ireland

“Great app that works with functionality exactly like we want it. Internal stakeholders are particularly impressed with the quality of deliverables. They take ownership beyond their contractual obligations.”

Alok AlstromBeyond Liberum AB · Sweden

“Within one year we reached a 99% crash-free user ratio on both operating systems, which was one of our goals. Within two years we reworked all our apps and improved our conversion rate by 50%.”

Axel BouthorsPiiics · France

“All tasks are done on their side, they've always delivered on time, and their code quality is good. The developer assigned to us is always available.”

Luka SikicOnpreo GmbH · Germany

“We were very impressed with the wide range of experts. We've been able to significantly speed up the development of a number of our projects on a very reasonable budget.”

Martin Enderleintencio s.r.o · Czech Republic

“Exceptional service delivery: in-time, on-budget, with high quality and professional advice.”

Marcus ZedlerCamyylyon · Switzerland

“With a limited budget, we have been able to master 3 new tools: Rich Snippet, Rating-Widget, Survey. A good outcome that helped me and my lead frontend developer.”

Carsten SchaeferTrust · Germany

“Developers are experienced. They can discover the main potential issues and are able to solve them beforehand.”

Romain CoiraultLalalab · France

“A highly adaptive team that offers helpful insights and delivers work at reasonable rates.”

Didier GromaireCedemo · Monaco

Questions about hiring an ML engineer.

Do we need an ML engineer or an MLOps engineer first?

Usually the ML engineer, if no model exists yet. The first job is finding out whether your data supports a model at all, and that is training and evaluation work. If a model already exists and nobody can retrain, serve or monitor it, start with MLOps instead. A senior ML engineer can put a first model into production; a separate MLOps role pays off once several models need retraining.

Could a hosted language model do this instead of a trained one?

Sometimes, and the engineer checks before training anything. A hosted model is quick to try and needs no labelled data. A trained model tends to win when the task is narrow, the volume is high, the data cannot leave your systems or the answer must be the same every time. The first weeks score both on your own examples, so the choice rests on results, not preference.

How much labelled data does a first model need?

Less than people fear for a narrow task, more than they hope for a broad one. The engineer starts by training a simple model on what you already have and showing where it fails. A learning curve then shows whether more labelled examples, a pretrained model or a narrower question would help most, so your experts label only what moves the score.

How is a new model compared with what we use today?

On the same test data, with the metric fixed before training starts. A slice of your data is never trained on, so a model cannot pass by memorising it, and where the model predicts the future that slice is the latest period. The candidate, today’s rule or model and a simple baseline are all scored on it, and the result is broken down by segment.

Will the model treat every group of customers fairly?

Only if that is measured. The engineer agrees with you which groups matter, such as regions, languages or customer types, and reports errors for each one beside the overall score. A model that looks good on average but fails one group goes back to data and features before anyone relies on it, and the gap is written into the model card.

Can the engineer serve the model, or only train it?

Both, for a first model. The engineer exports the model with its preprocessing and puts it behind a prediction service or a scheduled batch job your product can use. What changes at scale is the operating work: retraining pipelines, a model registry, drift alerts and GPU cost. When several models need that, an MLOps engineer takes it over from a model card and written retraining steps.

What will a strong ML candidate ask us in the interview?

About your labels, before any model architecture. Expect questions on who labelled the data and how disagreements were settled, how the data was split, what the business does with a wrong prediction and what rule the model has to beat. A candidate who reaches for a bigger model before asking those has usually not shipped one that people relied on.

What if our data turns out not to support a model?

Then you hear it early, in writing, with what would change the answer: more labelled examples, a narrower question, a data source you do not collect yet, or a plain rule that does the job. Saying no is part of the role. A model that only beats the baseline on a lucky split costs more to run than it returns, and we will not hand you one.

Can we start with one senior developer?

Yes. Many clients start with one senior engineer to cover a specific capability or capacity gap, then add specialists only when the roadmap requires them.

Can we scale the team up or down?

Yes. Adding an engineer follows the same route as the first, and you interview them. Reducing the team follows the notice period agreed in the contract, and the work is handed over in your repository before anyone leaves.

Will the developer work as part of our team?

Yes. You manage priorities and day-to-day work directly, in your own channels and delivery process.

Do we interview the developer before they start?

Yes. You interview every candidate using your own process and make the final decision about who joins the team.

Are the developers your employees or freelancers?

Our engineers are ImproveIT employees and long-term contractors working through our teams in Poland and Ukraine. We are not a freelance marketplace and do not resell developers from other vendors.

What if the developer is not the right fit?

Replacement terms are defined in the contract upfront, so it does not become a negotiation.

Who owns the code and intellectual property?

You do. IP assignment is included in the contract, and we can sign an NDA before discussing the project.

How do you handle security, access and NDAs?

We sign an NDA before discussing the project, and confidentiality and IP assignment are part of the contract. Engineers work in your repositories, cloud accounts and tools with the access your team grants, so you can narrow or revoke it at any time.

Can your developers work with our timezone?

Yes. Our engineers work with teams across Europe and the US. We agree the required working-hour overlap before matching candidates.

How is their English?

Our developers work in English with international product and engineering teams every day. English level is included in the candidate information you receive before the interview.

What does it cost to hire a developer?

Rates depend on the role, seniority, experience, and engagement model. You receive the rate, availability, and candidate profile in writing before making any commitment.

What are the minimum engagement and notice period?

Both are agreed before the engagement starts and included in the proposal and contract. We are flexible in that and usually agree on the terms suitable for a client.

Model trained. What comes next?

Someone to run the model in production, someone to keep the data it learns from in order, or a team to build the whole thing as a project.

Tell us which engineers you need.

Stack, seniority, how many and when. We come back with matching profiles, availability and rates within three working days.

You interview them with your own process, and you reject anyone you are not sure about.

  • 1Send the requirements
  • 2Get profiles with CVs, availability and rates in 3 days
  • 3Interview, choose, and start within a week

We sign an NDA before discussing anything in detail. We reply within 24 hours.

Request profiles

Or book a call and skip the form.Your details are handled under our privacy policy.