Software Development Engineer II (Java)

Category: Information Technology

Location: Kraków, małopolskie, Poland

Poland


Software Development Engineer II (Java)

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

We’ve recently moved to hybrid working. 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.

Benefits

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

  • Permanent contract from the go – as a sign of our trust in your abilities
  • Up to 20% yearly salary bonus – for employment contract colleagues only – based on both individual and business performance
  • MacBook as your tool for work
  • Private healthcare (LuxMed)
  • Cafeteria & Multisport
  • Learning opportunities - certified technical training and learning platforms like Udemy, Pluralsight and O’reily.
  • Referral Bonus
  • Relocation Help

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

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

Qualifications

Technology stack which we are using:

  • Design: Component and sequence diagram tools (like draw.io, 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 2-3 years of experience developing with Java
  • Experience using Spring 
  • Experience working with Agile methodologies (Scrum/Kanban)
  • Good English communication skills
  • Experience with AWS, Azure or other public cloud solutions
Back to top