Software Development Engineer II - Personalistion
Active
Job description
Every customer is different, and we're building the technology to make every Tesco experience feel personal. Join Tesco's Personalisation team and help shape the experiences of millions of customers every day by powering real-time recommendations, offers, targeting, and experimentation across our web, mobile, and in-store channels. Our platforms combine real-time data, machine learning, and large-scale distributed systems to turn customer insights into intelligent decisions in milliseconds.
You'll work on complex engineering challenges spanning streaming data, low-latency decisioning services, and ML powered systems, while collaborating closely with product, data science, and analytics teams. This is an opportunity to build technology at significant scale, influence the evolution of our personalisation platform, and directly impact how millions of customers discover, shop, and save with Tesco.
You'll work on complex engineering challenges spanning streaming data, low-latency decisioning services, and ML powered systems, while collaborating closely with product, data science, and analytics teams. This is an opportunity to build technology at significant scale, influence the evolution of our personalisation platform, and directly impact how millions of customers discover, shop, and save with Tesco.
- Building low-latency, high-throughput services for personalisation
- Developing Java / Spring Boot microservices with REST/gRPC APIs
- Working with Kafka and event-driven architectures
- Building pipelines using Apache Flink and Apache Beam
- Integrating ML models and feature stores
- Working with NoSQL databases and Redis caching
- Using Apache Camel for integration where required
- Collaborating with product, data science, and analytics teams
- Writing automated tests and improving reliability
- Monitoring systems using New Relic, Splunk, and metrics platforms
- Supporting CI/CD pipelines and deployments
- Contributing to experimentation (A/B testing)
- Strong Java backend experience
- Experience building microservices and APIs
- Understanding of event-driven systems
- Familiarity with stream processing concepts
- Knowledge of distributed systems
- Strong communication and teamwork skills
- Interest in data-driven personalisation systems
- Experience with Apache Flink and Apache Beam
- Experience with Kafka
- Familiarity with Apache Camel
- Experience with NoSQL databases (Cassandra, DynamoDB) and Redis
- Cloud experience (GCP or AWS)
- Docker and Kubernetes
- ML model serving or feature stores
- A/B testing platforms
- Terraform or infrastructure as code
- Performance and scalability optimisation