Back End Engineer

Job Title: Back End Engineer
Contract Type: Contract
Location: United Kingdom
Start Date: ASAP
Reference: RH-BackEndEngineer
Contact Name: Ryan Harrington
Contact Email:
Job Published: June 23, 2022 00:04

Job Description

Ryan is hiring a Back End Engineer to work on a 29-week contract based in the United Kingdom (Remote). This is a key engineering position to work on the 'Order' Product which is key to the operation of Waitrose. The order system has been in place for many years but still is a key strategic system. This engineer will be instrumental in both delivering new features and also building the capability, resilience and stability of the Order system so that it can continue to drive business growth.



- Languages: Java 7

- Build tools: Maven

- Architectural styles: JavaEE Monolith, Web services, SOA, REST API, Microservices

- Data Representations: XML, XSD, DTD

- Code versioning tools: GIT (including Gitlab or similar), SVN

- Third-Party Libraries: Spring IoC, Unit, DBUnit, Mockito,

- Java IDE: IntelliJ (or) Eclipse

- Web framework: Experience in any of the classic web frameworks like JSP, JSF or Struts

- Application Lifecycle Management Tools: JIRA, Confluence, Jenkins, NexusPro (or) similar.

- Working practices: Knowledge and experience of agile frameworks and practices: Scrum/Kanban, user stories, BDD/TDD, DevOps, Continuous Integration & Delivery, Pair Programming etc.


Additional skills:

∙ Knowledge of code quality monitoring tools like PMD, Checkstyle and SonarQube.

- Java Kotlin skills


Roles & Responsibilities:

- Actively participate in sprint planning, backlog grooming and task estimation.

- Elaboration of user stories (technical and functional) into design sketches and coding tasks.

- Hands-on design and development with a self-organizing and cross-functional agile team using techniques such as Test-Driven Development (TDD) and Pair Programming

- Responsible for the quality implementation (supportable, maintainable, monitorable, scalable and secure) of Java code, which includes unit, functional, integration, automated and (understanding of) performance testing.

- Influence the design and technology stack and technical direction of the team.

- Champion and coach peers in software engineering best practices and best-of-breed technology.

- Working closely with the quality assurance team (technical testers) to identify risks and to support the development of test scripts.

- Ensure that the status of agile tickets worked on is updated promptly and highlight blockers in time to get them resolved.

- Creation of POCs / Spike development and active involvement in technology evaluation.

- Participate in regular showcases of the new business capability to the product owners and other business stakeholders.

- Proactively help to resolve production issues and contribute to release management.