Our people work differently depending on their jobs and needs. From home working to job sharing, visit the remote and flexible working page on our website to find out more.
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
- This is an opportunity for a driven Software Engineer to design and engineer software with the customer or user experience as the primary objective
- We’ll look to you to engineer and maintain innovative, customer centric, high performance, secure and robust solutions
- It’s a chance to hone your existing technical skills and advance your career as you develop the discipline of software engineering across the business
What you'll do
In your new role, you’ll design, develop and deploy applications capable of meeting and exceeding the anticipated load, performance and availability volumes, including load balancing, performance testing and benchmarking. You’ll be working within a feature team and using extensive experience to engineer software, scripts and tools that are often complex, as well as liaising with other engineers, architects and business analysts across the platform.
Additionally, you’ll be collaborating with principal engineers and domain architects to understand the wider platform, domain and enterprise agendas and support the realisation of these. And, you’ll make sure that decisions made are based on robust data, return on investment and value measures that demonstrate thoughtful and intelligent cost management.
You’ll also be:
- Producing software rapidly and of high quality which adds value to the business
- Working in permanent teams that are responsible for the full life cycle, from initial development, through enhancement and maintenance to replacement or decommissioning
- Designing and developing software with a focus on the automation of build, test and deployment activities, using executable patterns
- Designing, producing, testing and implementing our working code
- Working across the life cycle, from requirements analysis and design, through coding to testing, deployment and operations
The skills you'll need
You’ll need a background in software engineering, software design, architecture, and an understanding of how your area of expertise supports our customers. You'll also need a practical understanding of microservice based architecture, as well as experience of designing or developing applications using microservice design patterns and well versed with SOAP, REST and JSON.
In addition, you'll need expertise in Java 8 with Stream API, Multithreading, Spring Boot, JPA with Hibernate, Cloud, microservices, caching knowledge, API Gateway knowledge and Mockito JUnit testing. You'll also need demonstrable experience of designing or developing cloud based implementation, with at least two years of experience of AWS Cloud, PCF and microservices.
You’ll also need:
- Experience of working with code repositories, bug tracking tools and wikis
- Coding experience in multiple programming languages
- Experience of DevOps and Agile methodology and associated toolsets and methodologies
- A background in solving highly complex, analytical and numerical problems
- Experience of implementing programming best practice, especially around scalability, automation, virtualisation, optimisation, availability and performance