Advertisement
Job Description:
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:
Applying, defining, and communicating design patterns and domain driven design
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. It’ll be ideal if you have a background in solving highly complex, analytical and numerical problems.
You'll be familiar with Java, JavaScript, React, SpringBoot, JPA, BPMN Camunda, JBPM, Activiti, and SPA, microservice, and cloud development. You'll also have an understanding of Cloud Foundry, AWS, Git, Bitbucket, Stash UI, Artifactory, JIRA, and Confluence. Product or project management experience would be beneficial.
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 with DevOps and Agile development principles, practices, tools and techniques
Good collaboration and stakeholder management skills
Knowledge of relational, in-memory, distributed and NoSQL databases
Experience of implementing programming best practice, especially around scalability, automation, virtualisation, optimisation, availability and performance
About Company: