Join us as a Principal Engineer, Java, Microservices & API
This is a challenging role that will see you design and engineer software with the customer or user experience as the primary objective We'll look to you to actively contribute to our architecture, design and engineering centre of excellence, collaborating to improve the bank’s overall software engineering capability You’ll gain valuable stakeholder exposure as you build and leverage relationships, as well as the opportunity to hone your technical talents
What you'll do As a Principal Engineer, Java, Microservices & API, you’ll be creating great customer outcomes via engineering and innovative solutions to existing and new challenges, and technology designs which are innovative, customer centric, high performance, secure and robust.
You’ll be working with software engineers in the production and prototyping of innovative ideas, engaging with domain and enterprise architects to validate and leverage these in wider contexts, by incorporating the relevant architectures. We’ll also look to you to design and develop software with a focus on the automation of build, test and deployment activities, while developing the discipline of software engineering across the business.
You’ll also be:
Defining, creating and providing oversight and governance of engineering and design solutions with a focus on end-to-end automation, simplification, resilience, security, performance, scalability and reusability Working within a platform or feature team along with software engineers to design and engineer complex software, scripts and tools to enable the delivery of bank platforms, applications and services, acting as a point of contact for solution design considerations Defining and developing architecture models and roadmaps of application and software components to meet business and technical requirements, driving common usability across products and domains Designing, producing, testing and implementing the working code, along with applying Agile methods to the development of software with the use of DevOps techniques
The skills you'll need We’re looking for someone with extensive experience in full stack software design and implementation, capable of leveraging programming languages to solve complex problems and lead technical initiatives. You’ll also need expert experience of working with development and testing tools, bug tracking tools, and wikis, as well as exposure to cloud deployment, preferably on AWS.
In addition to excellent collaboration skills and the ability to work with business teams to produce pragmatic solutions that work for the business, you’ll demonstrate leadership capabilities, including guiding and mentoring team members, and driving the technical vision and strategy for projects. You’ll also be adept at managing and prioritising multiple tasks and projects, ensuring alignment with business goals and objectives.
You’ll also need:
Expertise in coding with Java 17 and above, with significant experience in microservices or API development using Spring Boot, and containerization using Docker Proficiency in using TDD or BDD frameworks like Cucumber or Selenium to ensure code quality Experience with both relational and NoSQL databases such as Postgres and MongoDB, KAFKA or MQ, or any other event-driven framework Skills in using CI/CD tools, preferably GitLab or GitHub, and deploying on AWS Kubernetes clusters using Helm Charts Proven experience in leading the implementation of programming best practices, especially around scalability, automation, virtualisation, optimisation, availability, and performance A strong understanding of DevOps and Agile methodologies, and associated toolsets like JIRA or Confluence Experience with information security policies and practices within the financial sector Strong stakeholder management and communication skills, with the ability to communicate complex technical concepts in a simple way