Our people work differently depending on their jobs and needs. From hybrid working to flexible hours, we have plenty of options that help our people to thrive.
This role is based in India and as such all normal working days must be carried out in India.
Join us as a Software Engineer, Associate
- This is an opportunity for a technically minded individual to join us as a Software Engineer
- You’ll be working with new and innovative technology to deliver high impact solutions
- Hone your existing software engineering skills and advance your career in this critical role
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.
- Design and develop reusable libraries and application programming interfaces 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
- Support 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 background in software engineering, software design or database design and architecture, as well as experience of developing software in a SOA or micro-services paradigm. You'll need at least five years of experience in core Java with strong experience in design and development of HA, scalable and low latency services along with expertise in building applications and services with Java 8, Spring Boot, RDBMS, and messaging technologies.
You should have experience of using industry recognised frameworks and development tooling, and a background of implementing programming best practice, especially around scalability, availability and performance.
You’ll also need:
- Proven experience in multi-threading, integration test frameworks, SQL and microservices
- Experience of test-driven development alongside the use of automated test frameworks, mocking and stubbing, unit testing tools and frameworks like Junit, Mockito or similar
- Experience of leading software development teams as well as introducing and executing technical strategies
- Experience of CI and code repositories, bug tracking tools, build tools and wikis
- Knowledge of the key phases of software delivery lifecycle and established software development methodologies
- The ability to understand and support, modify and maintain systems and code developed by other engineering teams