Join us as a Software Engineer
What you'll do
- This is an opportunity to join the digital channels technology team delivering FX and Payments system solutions across the bank, spanning NatWest Retail, Commercial and Investment bank customers
- You'll be working with new and innovative technology to deliver high impact solutions
- Hone your existing software engineering skills and advance your career in this critical role
You'll be involved in solution design; integrating with existing platforms in the bank, micro-service development in the GCP environment using technologies such as GKE, Istio, MemStore, Pub/Sub.
You'll apply widely agreed software engineering principles and methodologies to design, develop, test and maintain applications and services to achieve the stated business and technology goals within required budgets and timelines. We'll also look to you to oversee the quality of work, making sure that it meets the technical standards for all services output.
The skills you'll need
- Design and develop reusable libraries and application programming interfaces for use across the bank
- Design and develop software that is amenable for a greater automation of build, release testing and deployment process on all environments
- Support the reuse and sharing of platform components and technologies within the software engineering teams
- Deliver software components to enable the delivery of platforms, applications and services
- Write unit and integration tests, in automated test environments to ensure code quality
You'll need a background in software engineering, software design or database design and architecture, as well as experience of developing software in a SOA or micro-services paradigm. You should also have development experience in a programming language, experience of using industry recognised frameworks and development tooling, and a background of implementing programming best practice, especially around scalability, availability and performance.
You'll also need:
- Experience building and managing micro-service based solutions, deployed in a cloud environment (preferably GCP)
- Knowledge of key technologies & toolsets include: Java; Spring Boot, Microservices, REST, Swagger/OpenApi, Docker, Messaging (Pub/Sub), Kubernetes (nice to have), Cloud, CI/CD, Agile
- Experience of delivery and supporting of systems in production
- Knowledge of the key phases of software delivery lifecycle and established software development methodologies
- Experience of working in an environment where products must be delivered to specific timescales
- An understanding of how to translate product and business requirements into technical solutions
- The ability to understand and support, modify and maintain systems and code developed by other engineering teams