Software Development Engineer II - Profile Services
About The Tesco Technology Profile Services Team
The Profile Service was one of the first "Enterprise Services" to be created when Tesco began its transition to Service Oriented Architecture. Over recent years our scope and focus has shifted from being an aggregator of customer details across the online and instore data realms to becoming the single source of truth for core profile attributes for customers, colleagues and suppliers to drive real-time personalisation of user journeys, analytics and insights.
We take the safety and privacy of personal information very seriously and see ourselves as guardians of this data, working to ensure appropriate use throughout the Tesco ecosystem.
As part of a core API platform critical in delivering higher value to shoppers we need to ensure our services are highly available and performant. To do so we build event-driven and Restful services utilising a wide range of technologies including:
* Java, Vert.X, RxJava, Spring, Groovy, Scala, Akka/Lagom;
* Amazon Web Services, Kubernetes, Docker, Linux;
* Apache Cassandra, Apache Kafka, Oracle, SQL Server;
* Jenkins, Ansible, Terraform, Git;
* Splunk, AppDynamics.
We have responsibility for every component we build throughout its entire lifecycle. We practice continuous integration and deploy, operate, and support our code in production.
Typically, the role involves the following activities:
* Pairing/collaborating with other engineers to write high quality code that's easy to understand and work with
* Writing tests - often before the associated code - at unit level and in BDD style
* Reviewing pull requests and giving good feedback
* Attending backlog planning sessions to discuss and estimate (small, medium, large) upcoming stories
* Taking part in understanding requirements and designing API endpoints and their implementations
* Supporting the service, both during office hours and out of hours via paid support rota
* Automating the build, provisioning and deployment in the cloud
* Implementing monitoring and alerting mechanisms via Splunk, Runscope and other tools
* Building for security and user data privacy
* Being involved with attracting and interviewing further excellent engineers for Tesco.
Experience relevant for this job:
* Java or other JVM languages such as Groovy, Scala, Kotlin;
* Designing and building distributed systems, for scalability, availability and performance.
* Testing everything, automating everything.
Skills relevant for the job
* Written and verbal communication skills.
* Problem solving, analysis and computational skills.
* Customer focus.
* Innovative approach to problem solving.