Software Development Engineer III Java (Customer Order Team)

Category: Information Technology

Location: Kraków, małopolskie, Poland


Software Development Engineer III Java (Customer Order Team)

Kraków, małopolskie, Poland

Add to basket Share Apply

Company Description

Tesco is a leading multinational retailer, with more than 330 000 colleagues.

Our software is used by millions of people across several countries every day. Whether it’s the tills and websites our customers use, or the systems our colleagues and partners use, you’ll play your part in keeping it running like a well-oiled machine. And when a business problem pops up? You and the creative minds in our team will be challenged to solve it.

In the Software Engineering team, you’ll get the chance to work on the software applications and services that power Tesco. The work you do will improve our customers’ shopping experience and the efficiency of our business. And when it comes to ideas, we’re as ambitious as you are. So bring your innovative, never-been-done-before solutions and see them come to life at Tesco.

As Tech Hub we cooperate within the group of Tesco Technology Hubs located in the UK, Poland, Hungary, and India.

What our colleagues like the most at Tesco:

  • We develop our own products
  • We make an impact; large scale of operation
  • Accountability and respect are given to us
  • We cooperate and support each other
  • There are great colleagues who are working in small teams here
  • We can develop and learn new things

Additional Information

Hybrid working

Currently, at Tesco Technology we work in a hybrid model. We love working from home, but we also love connecting, collaborating and innovating with our colleagues in person. We meet in our office in Kraków for 2 days a week.


Tesco is a diverse and exciting employer, dedicated to being #aplacetogeton, providing career-defining opportunities to all of our colleagues. If you choose to join our business, we will provide you with (for all):

  • Permanent contract from the go – as a sign of our trust in your abilities
  • MacBook as your tool for work
  • Learning opportunities - certified technical training and learning platforms like Udemy, Pluralsight and O’reily
  • Referral Bonus
  • Sports activities with a personal trainer in the office

Benefits for colleagues on employment of contract only:

  • Additional 4 days of paid leave to support your well-being and family life
  • Up to 20% yearly salary bonus – based on both individual and business performance
  • Private healthcare (LuxMed)
  • Cafeteria & Multisport
  • Supporting those, who are not yet eligible for full holiday entitlement, by expanding their pool from 20 to 25 days
  • Relocation Help
  • Heightened income costs (KUP)

 If that sounds exciting, then we'd love to hear from you.

Tesco is committed to celebrating diversity and everyone is welcome at Tesco. As a Disability Confident Employer, we’re committed to providing a fully inclusive and accessible recruitment process, allowing candidates the opportunity to thrive and inform us of any reasonable adjustments they may require.

Job Description

About the project.

Customer Order Domain is a Tier 1 domain and one of the major building blocks of the retail platform at Tesco. Customer Order orchestrates the end-to-end shopping experience for Tesco customers. This happens across APIs such as Product, Quote, Loss Prevention, Fulfilment, Contact and Payment. 

The role – what will you do

We operate in a DevOps philosophy. We take responsibility for the software through its entire lifecycle. We practice continuous integration, delivery, and support of our code through to production and beyond.

Whilst specific responsibilities will be dependent upon the changing needs of the Tesco business, the following provides an overview of the role’s key responsibilities and measures:

  • Take a business problem and come up with the technical strategy
  • Focus on performance, availability, reliability, and security
  • High and low level design for performance at all levels and with security at the core of it
  • Understand microservices patterns and concepts such as CQRS, event sourcing, eventual consistency, concurrency control etc.
  • Be a coder; review and contribute a clean code
  • Demonstrate excellent understanding of language & framework and a good working knowledge of the abstraction layer underneath
  • Proactively mentor rest of the team and help in hiring


Technology stack which we are using:

  • Design: Component and sequence diagram tools (like, PlantUML), Swagger, etc
  • Languages and Frameworks: Java, Spring Boot/Micronaut. Good to have exposure to Reactive programming.
  • TDD/BDD : Junit/Spock/Cucumber, WireMock, etc
  • Performance : Load and performance test tools like Jmeter, Gatling, Locust, etc
  • Integration Tools: Kafka
  • Orchestration: Docker and Kubernetes
  • Cloud: Any cloud. Good to have exposure to Azure
  • Databases: Any NoSQL db (experience with Couchbase is plus, etc), any SQL db
  • Monitoring and Logging Tools : Splunk / ELK, Appdynamics/NewRelic, Prometheus, Grafana or similar tools
  • CI/CD – Azure DevOps / Jenkins / Github Actions / Bitbucket Pipelines
  • Build Tools: Maven, Gradle
  • Others: Git, Nexus, IntelliJ, Sonar

You will need:

  • Excellent understanding of distributed architecture and communication mechanism
  • Understanding of scalability and load balancing issues in distributed systems
  • Around 6+ years of experience developing with Java
  • Experience working with Agile methodologies (Scrum/Kanban)
  • Good English communication skills
  • Experience with AWS, Azure or other public cloud solutions 
  • Experience in taking ownership of a project and leading a team from technical/ project perspective
  • Experience in setting up a direction for a project
  • Previous engagement in mentoring less experienced colleagues in a team – helping them grow technically
  • Proactive attitude
Back to top