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
- In your new role, you’ll engineer and maintain innovative, customer centric, high performance, secure and robust solutions
- We’ll look to you to design and engineer software focusing on the customer or user experience as the primary objective
- 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
As a Software Engineer, 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.
You’ll also be:
- Producing high quality software which adds value to the business
- Working in permanent teams who are responsible for the full life cycle, from initial development, through enhancement and maintenance to replacement or decommissioning
- Collaborating to optimise our software engineering capability
- 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 at least seven years' of relevant experience and a background in software engineering, software design, architecture, and an understanding of how your area of expertise supports our customers. You’ll also have experience of test-driven development alongside the use of automated test frameworks, mocking or stubbing and unit testing tools. Ideally, you’ll also have a background in solving highly complex, analytical and numerical problems.
You’ll also need:
- Experience of working with code repositories, bug tracking tools and wikis, as well as experience of designing and implementing APIs
- Coding experience in multiple programming languages
- Experience of DevOps, CI/CD and Agile methodology and configuration management tools such as Git GUI, Bash, Bitbucket, TeamCity, Gradle and Ansible
- Knowledge of relational, in-memory, distributed, NoSQL databases and the ability to develop software in an SOA or micro-services paradigm
- Good knowledge of Java, Spring Framework, Spring Boot, RESTful API, Microservices, JDBC and Hibernate
- Knowledge of Python, Spark and AWS would be beneficial