Software Development Engineer (SDEII) - Customer Fulfilment
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 a 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
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 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 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.
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.
* 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 us
Our vision at Tesco is to become every customer's favourite way to shop, whether they are at home or out on the move. Our core purpose is 'Serving our customers, communities and planet a little better every day'. Serving means more than a transactional relationship with our customers. It means acting as a responsible and sustainable business for all stakeholders, for the communities we are part of and for the planet.
Diversity, equity and inclusion (DE&I) at Tesco means that whoever you are and whatever your background, we always want you to feel represented and that you can be yourself at work. In short, we're a place where Everyone's Welcome. We're proud to have been accredited Disability Confident Leader and we're committed to providing a fully inclusive and accessible recruitment process. For further information on the accessibility support we can offer, please click here.
We're a big business and we can offer a range of diverse full-time & part-time working patterns across our many business areas, which means that we can find something that works for you. We work in a more blended pattern - combining office and remote working. Our offices will continue to be where we connect, collaborate and innovate. #J-18808-Ljbffr