We are hiring a Senior Backend Engineer to build and run the services and tooling that ML teams depend on. You will write production-grade Go and Python, own your services from design to on-call, and learn the MLOps stack (Terraform, Kubernetes, Databricks, SageMaker) on the job. You will work with data scientists, ML engineers, and software and data engineers.
- Design, build and run backend services and internal tooling for the ML platform, in Go and Python, and own them in production: delivery, monitoring, on-call.
- Drive technical research and design for new platform features. Weigh trade-offs and write them down.
- Build and extend the deployment tooling and SDKs ML teams use to ship models, including serving, autoscaling and data capture.
- Integrate ML services with the wider backend: sync (HTTP, gRPC) and async (Kafka, RabbitMQ) communication, built for reliability under high load.
- Support the full ML delivery cycle with data scientists and ML engineers: CI/CD for models and pipelines, monitoring, and model performance metrics.
- Build observability end to end: metrics, logs, dashboards, tracing, alerting and runbooks.
- Write infrastructure as code with Terraform and Terragrunt, and ship it through reviewed pull requests.
- Take part in code and design reviews and help raise the engineering bar. Mentor engineers and hold AI-generated changes to the same review standard as human ones.
- 5+ years of commercial backend engineering, including high-load systems.
- Strong Go: you know and have used its advanced features in production.
- Solid Python for data processing (batch, streaming and async) and for service code.
- Strong SQL: schema design, indexes, query optimisation, and scaling approaches such as replication and partitioning. Experience with Redis or similar key-value stores.
- Experience with sync and async service communication (HTTP, gRPC, Kafka or RabbitMQ), with a focus on reliability.
- Docker, CI/CD pipelines, and working Kubernetes knowledge. Experience with AWS/GCP core services (compute, storage, networking, IAM).
- Understanding of the ML lifecycle: data preparation, model performance metrics, non-functional requirements, and concept drift in production. Familiarity with scikit-learn, PyTorch/TensorFlow.
- Experience designing and running observability: metrics, logging, dashboards, tracing (Prometheus, Grafana, ELK or similar).
- Git workflows and code review, comfortable Linux command line, and networking basics (TCP/IP, DNS, VPC, load balancers).
- Ability to explain a trade-off clearly to a data scientist, a product owner and an on-call engineer.
Nice to have:
- Hands-on experience with MLOps tooling: Databricks (Unity Catalog, Asset Bundles), SageMaker, Kubeflow, MLflow or Airflow.
- GPU or LLM inference experience (vLLM, Triton, Langfuse).
- Experience using AI coding agents with full review of generated changes.
- Experience in emerging markets, or building where there is no playbook yet.
- Experience with Infrastructure-as-Code (IaC) tools
- Real scale and real constraints: models serving a global fleet, GPU budgets that matter, LLM workloads reaching production.
- A strong backend engineer can grow into the MLOps domain here. We will teach you the platform side; you bring the engineering craft.
- Help us challenge injustice by creating fair choices for millions of people across 48 countries.
- Develop your professional skills with access to mentoring, career consulting, and learning programs.
- Collaborate with teams around the world and gain international experience through our Global Talent Exchange Program.
- Engage in company-wide challenges, awards, sports activities, employee-led social impact and volunteering projects.
- Work alongside people who take initiative, speak openly, and challenge themselves to grow.
- Improve your language skills through co-financed courses and internal speaking clubs.
- The minimum starting salary is €70,700 gross per year