What’s in it for you We’re all about the little helps. That’s why we make sure our Tesco colleague benefits package takes care of you – both in and out of work. Click Here to find out more 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 About The Role At Tesco, we believe in the power of spending more time together, face to face, than apart. So, during your working week, you can expect to spend 60% of your time in one of our office locations or local sites and the rest remotely. We also recognise that life looks a little different for each of us. Some people are at the start of their careers, some want the freedom to do the things they love. Others are going through life-changing moments like becoming a carer, nearing retirement, adapting to parenthood, or something else. That’s why at Tesco, we always welcome a conversation about flexible working. So, talk to us throughout your application about how we can support. We are in the process of building, evolving and rolling out our inhouse built Fulfilment Point System (FPS) platform to all our Customer Order Fulfilment locations within the UK and Internationally. FPS is new generation Fulfilment application which enables all the customer order fulfilment centres 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 React and Node JS 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. You will be responsible for Role Software Development Engineers (SDEs) are the creative minds developing the software applications that make life easier for customers. You will have responsibility for the entire development and support process for a software programme. Your applications make previously complex tasks simple with the impact ranging from saving time, effort or money to re-defining normal. High level expectations from the role: Take a business problem and come up with the technical strategy (push vs pull etc, real time vs batches, sync vs async) within the team, high level design and lead the implementation. Need minimal directions or guidance and collaborate with SDEs across teams working on the same or similar business problem You showcase exemplary behaviour in your work – your design, delivery, code, processes all set examples for your team. Ensure design or architectural deficiencies are addressed and routinely simplify integration of your peer teams with your team’s software You will need 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. Skills Relevant For The Job 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 and demonstrate Idempotency in service designs Understand importance of domain model and can coherently model a problem domain within a given context 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 Couchbase Postgres CI/CD: Jenkins / Azure pipelines / Git Actions. Cloud: Azure