We are in the process of building and rolling out our next generation, dynamic, scalable, and resilient Fulfilment platform for Tesco, to address both manual, and robotic powered automate fulfilment operations, across all the customer order fulfilment locations. This highly optimized and continuously improving fulfilment platform is designed to be used to fulfil all product categories - Grocery /GM and Fashion, of Customer Orders.
This platform, Fulfilment Point System (FPS), enables all the customer order fulfilment centres across different geographies to pick, marshal and dispatch customer orders on one hand and manage the site workflow through a real-time visualisation and intervention tool, on the other hand.
Ours is a globally distributed, full stack java tech team and our building blocks consist of a set of Microservice components, backend APIs, Rich UI, robust Eventing Platform and Data layer components utilising a wide range of modern technologies including:
- Java, RxJava, SpringBoot
- Kafka, PostgreSQL and Couchbase
- Docker, Kubernetes, Jenkins, Azure DevOps, Splunk, AppDynamics, New Relic
- Azure Cloud
We are responsible for the software throughout the lifecycle. We maintain a DevOps culture employing continuous integration and delivery, supporting our code through to production and beyond.
- Annual bonus scheme of up to 20% of base salary
- Holiday starting at 25 days plus a personal day (plus Bank holidays)
- Private medical insurance
- 26 weeks maternity and adoption leave (after 1 years’ service) at full pay, followed by 13 weeks of Statutory Maternity Pay or Statutory Adoption Pay, we also offer 4 weeks fully paid paternity leave
- Free 24/7 virtual GP service, Employee Assistance Programme (EAP) for you and your family, free access to a range of experts to support your mental wellbeing
We are seeking highly skilled Software Development Engineers (SDEs) for a green field project to drive the design, development and implementation of software solution for next generation customer fulfilment system. As a key member of our engineering team, you will develop robust, scalable and efficient java-based applications to optimise warehouse operations and drive operational success. You will directly contribute to evolving product, reducing cost and increasing profitability.
Design and Develop: Architect and build high-performance applications.
System Optimisation: Collaborate with cross functional teams to enhance system efficiency, scalability and reliability for mission critical applications.
Integration: Develop APIs and microservices to integrated with enterprise API and third-party platforms.
Code Quality: Write clean, maintainable and well documented code, adhere to best practices and coding standards.
Troubleshooting: Diagnose and resolve complex technical issues in real-time to ensure un-interrupted operations.
Mentorship: guide junior engineers and foster culture of continuous improvement.
Innovation & Collaboration: Stay ahead of industry, work closely with hardware, data scientists and operation team.
- Previous experience of having done product development using agile methodologies
- Hands-on experience of building and supporting reliable and operationally robust full stack and distributed Java applications / products
- Any previous experience of having contributed in a globally distributed software engineering teams would be a big plus.
Tech Skills
- Programming
- Demonstrate in depth knowledge of IDE, language, and toolset in language of choice.
- Implement critical path components in a large or complex or project.
- Demonstrate excellent understanding of language & framework and a good working knowledge of the abstraction layer underneath
- Comfortably test drive any feature/comfortable with TDD cycle
- Comfortably debug/find complex problems
- Design
- Identify and apply appropriate design patterns to problems
- Understand Idempotence
- Actively practice the boy scout principle, leaves design, code in a better state than when arrived
- Understand importance of domain model and can coherently model a problem domain within a given context
- Understand design patterns such as CQRS and eventual consist
- Understand how to design for performance at all levels
- Development Practice
- Automate everything by default
- Build a CI/CD pipeline
- Tech Stack Specialization
- Java, Spring boot
- Kafka
- Postgres
- Couchbase
- CI/CD: Azure pipelines / Git Actions.
- Cloud: Azure