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 operation
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 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 and Agile methodology and associated toolsets and methodologies
Knowledge of relational, in-memory, distributed and NoSQL databases
Experience of implementing programming best practice, especially around scalability, automation, virtualisation, optimisation, availability and performance