Join us as a Principal Engineer
- This is an exciting and challenging opportunity to work in a collaborative, agile and forward thinking team environment
- With your software development background, you’ll be delivering software components to enable the delivery of platforms, applications and services for the bank
- As well as developing your technical talents, you'll have the opportunity to build project and leadership skills which will open up a range of exciting career options
What you'll do
As a Principal Engineer, you’ll be driving development software and tools to accomplish project and departmental objectives by converting functional and non-functional requirements into suitable designs. You’ll play a leading role in planning, developing and deploying high performance robust and resilient systems for the bank, and will develop your leadership skills as you manage the technical delivery of one or more software engineering teams.
You’ll also gain a distinguished leadership status in the software engineering community as you lead the wider participation in internal and industry wide events, conferences and other activities.
You’ll also be:
- Designing and developing high performance and high availability applications, using proven frameworks and technologies
- Designing and developing documents, implementing new functionality, and building enhancements, modifications, and corrections to existing software
- Making sure that the bank’s systems follow excellent architectural and engineering principles, and are fit for purpose
- Monitoring the technical progress against plans while safeguarding functionality, scalability and performance, and providing progress updates to stakeholders
- Designing and developing reusable libraries and APIs for use across the bank
- Writing unit and integration tests within automated test environments to ensure code quality
The skills you'll need
You’ll come with a background in software engineering, software or database design and architecture, as well as significant experience developing Microservices, preferably using Java, Spring Boot, Kafka, No SQL DB, Kubernetes and TDD.
Along with tooling experience of CI\CD on Jenkins or TeamCity, Maven, Cloud, deployment tool, Bitbucket, Artifactory, and Docker, you'll have experience of mentoring and leading developers on successful Java implementations. You'll also be familiar with agile, technical impact analysis, supporting live applications and providing production support. Experience of working on formats such as XML, FPML, and EMML would also be beneficial.
Along with development experience in one or more programming languages, you’ll bring an excellent understanding of implementing programming best practice, especially around scalability, availability and performance.
You’ll also need:
- Experience of leading software development teams, introducing and executing technical strategies
- Knowledge of using industry recognised frameworks and development tooling
- Experience of test-driven development and using automated test frameworks, mocking and stubbing and unit testing tools
- A background in designing or implementing APIs
- Experience of supporting, modifying and maintaining systems and code developed by teams other than your own