Software Development Engineer III
Role details
Job location
Tech stack
Job description
We are in the process of building and rolling out our next-generation, dynamic, scalable, and resilient Fulfilment Platform for Tesco. This platform is designed to support both manual and robotic-powered automated fulfilment operations across all customer order fulfilment locations. It is highly optimized and continuously improving, enabling fulfilment of all product categories-Grocery, GM, and Fashion-for customer orders.
The Fulfilment Point System (FPS) enables fulfilment centres across multiple geographies to efficiently pick, marshal, and dispatch customer orders. Additionally, it provides a real-time visualization and intervention tool to manage site workflows effectively.
Our globally distributed, full-stack Java tech team builds on a foundation of microservice components, backend APIs, rich UI, a robust eventing platform, and data layer components. We leverage a wide range of modern technologies, including:
- Java, RxJava, Spring Boot, React
- Kafka, PostgreSQL, Couchbase
- Docker, Kubernetes, Azure DevOps, Splunk, New Relic
- Azure Cloud
We own the software throughout its lifecycle, maintaining a strong DevOps culture with continuous integration and delivery. Our team supports code from development through production and beyond. You will be responsible for
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. You will need
Requirements
- 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
Benefits & conditions
- 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