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 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:
- At least six years of working knowledge in Java
- 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