Join us as a Principal Engineer
- This is an exciting and challenging opportunity to work in 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
- 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 software within an SOA or microservices paradigm.
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 in core Java including knowledge of multi-threading, messaging and micro services
- Experience in Agile methodologies, test driven development and software delivery best practice
- A sound understanding of development best practices, data structures, algorithms and design patterns
- Sound understanding of best practices around continuous integration and SDLC
- An understanding of capital markets, market making and preferably, electronic trading
- A background in designing or implementing APIs
- Experience of supporting, modifying and maintaining systems and code developed by teams other than your own