Senior Java Software Engineer

NatWest
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Tech stack

Java
Agile Methodologies
Amazon Web Services (AWS)
Unit Testing
Cloud Computing
Continuous Integration
Software Debugging
Software Design Patterns
Digital Data
JUnit
Maven
Queueing Systems
RabbitMQ
Mockito
Swagger
Software Engineering
Postman
Spring-boot
Gitlab
Gherkin
Kubernetes
Deployment Automation
Software Coding
REST
Terraform
Cucumber
Domain Driven Design
Docker
Programming Languages
Microservices

Job description

  • Join our Chief Digital Information Office in Commercial & Institutional, where we harness technology innovation, business agility and one-bank collaboration to push the boundaries of what's possible for our customers
  • The wellbeing and growth of our people is fundamental to our shared success, which is why we're passionate about cultivating an environment that fosters inclusion and champions potential
  • Our journey will be challenging and complex, but truly transformative - so if you're ready to stretch your capability, gain unique experience and shape the future banking experience for generations to come, this is your opportunity

What you'll do

You'll be joining our Digital domain, where our digital strategy is driving the delivery of a digital ecosystem that improves the customer experience, enables our colleagues to better serve our customers, and achieves the growth and revenue goals of our business.

Working in a permanent feature team, you'll be developing knowledge of aspects of the associated platform across the disciplines of business, applications, data and infrastructure. You'll also be liaising with principal engineers, architects in the domain and other key stakeholders to understand how the platform works and how it supports business objectives.

You'll also be:

  • Applying Agile methods to the development of software on the backlog
  • Producing resilient and long-lived software and acting flexibly to cope with future needs
  • Delivering intentional architecture and formulating emergent design through innovative ideas, experimentation and prototyping
  • Designing and developing software with a focus on the automation of build, test and deployment activities, using executable patterns

Requirements

Do you have experience in Unit testing?, We're looking for someone with strong full stack experience in software design and implementation, including the ability to exploit programming languages to solve complex problems. You'll also need to be capable of complex requirements analysis capture and validation against and with business and systems requirements.

You'll have proven experience in back-end leadership and management within enterprise-scale applications, with expert-level proficiency in Java, Microservices Architecture and Spring Boot. In addition, you'll have experience with unit testing using jUnit, Cucumber, Gherkin and Mockito, along with solid knowledge of TDD\BDD, acceptance testing and security best practices.

You'll contribute to our engineering chapter by recommending new frameworks, methodologies and technologies. Therefore excellent stakeholder management and communication skills are essential, as well as the ability to explain complex technical concepts in a clear, simple way. You should also demonstrate a strong capacity for innovation and continuous improvement.

Additionally, you'll demonstrate:

  • Expertise with CI/CD tools and workflows, including the ability to create, manage and improve CI/CD pipelines
  • Strong networking and firewall knowledge, alongside robust experience with Cloud/AWS, Docker, Kubernetes, GitLab and Maven
  • Skills in automated deployment and configuration using Terraform
  • Proven expertise in RESTful API design and implementation, domain driven design, design patterns, optimisation, scalability, coding standards and best practice, debugging, dependency management
  • Experience with Swagger, Postman and message queuing technology such as RabbitMQ
  • Experience in coaching and mentoring junior engineers as well as being able to demonstrate strong leadership and management skills
  • A proven track record of successful delivery in a commercial organisation, writing clean, testable, readable, maintainable, self-documented code

Apply for this position