Join us as a Back End Developer
- This is a chance for a technically minded individual to join our diverse, inclusive team
- You’ll be able to put your existing programme management skills to the test and benefit from our development opportunities
- You’ll make have a tangible effect on our function and be able to advance your career
What you'll do
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.
- Drive the design and development of reusable libraries and APIs 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
- Drive 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
The skills you'll need
You’ll need a strong background in software engineering, software design or database design and architecture, as well as extensive 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.
It's crucial that you have experience with Java 8, Spring including Core, MVC, Security, Data, Boot and Cloud, as well as Apache Camel and EIP. You'll also be expected to have experience with persistence frameworks such as Hibernate and JPA, and messaging including ActiveMQ or JMS.
You’ll also need:
- Experience of test-driven development alongside the use of automated test frameworks, mocking and stubbing and unit testing tools
- 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