Full Job Description
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
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
We're offering this role at senior analyst level
What you'll do
It’ll be your responsibility to 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.
Support the design and development of reusable libraries and application programming interfaces for use across the organisation
Support the design and development of 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, and experience of developing software in a SOA or micro-services paradigm. You should also have development experience in a programming language, and experience of using industry recognised frameworks and development tooling.
You’ll also need:
A background of implementing programming best practice, especially around scalability, availability and performance
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 have to be delivered to specific timescales