Principal Software Engineer
Join us as a Principal Software Engineer
What you'll do
- Working as part of our innovative Enterprise Engineering team, you'll contribute to the development of IT solutions and critical support services to continually improve our competitive edge, profitability and client focus
- This exciting role will see you focus on delivering the bank's API platform, leading and contributing to best practice for the platform's development and software development lifecycle in the bank
- You'll gain valuable senior stakeholder exposure as well as the opportunity to hone your technical talents and leadership skills
You'll be driving development of software and tools used to accomplish the API platform 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, while advising on product roadmaps and migration pans and leading engagements with senior stakeholders to explore and suggest appropriate technical solutions to achieve the required product features.
You'll have the opportunity to develop your leadership skills as you manage one or more of our API platform software engineering teams, overseeing the quality of their work and making sure it meets the required technical standards.
You'll also be:
The skills you'll need
- Designing and developing high performance and high availability applications, using proven frameworks and technologies
- Acting as an expert in building and running highly resilient, public-facing microservice based APIs at large scale, with a particular focus on Java
- Leading the wider participation in internal and industry wide events, conferences and other activities
- 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
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:
- A strong background in 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
- The ability to rapidly and effectively understand and translate product and business requirements into technical solutions