Senior Software Engineer
We are looking for a motivated, collaborative and compassionate Senior Software Engineer to join in our mission to deliver compensation to people whose life has been impacted by infected blood products. This is a rare opportunity to apply modern software engineering processes in making a tangible difference to people’s lives.
We work in multidisciplinary teams at the Infected Blood Compensation Authority (IBCA), which are organised around delivering our mission and priorities:
- To create a user-centred, empathetic end-to-end service at the heart of IBCA;
- To provide the means of paying compensation to those eligible;
- To iterate our service through starting small and scaling fast.
Joining IBCA at this stage in the lifecycle gives you a unique platform to influence tech decisions, build capability, and implement best in class engineering standards, while supporting teams in converging towards common engineering patterns and approaches. You will operate in a fast-paced environment that expects technical excellence, agility and a deep commitment to user needs.
Key Responsibilities
- Collaborate in a fast-paced Agile environment, with technical and non-technical colleagues;
- Refine user stories into actionable items of work;
- Work with interface designers and architects to develop frontend and backend services, applying a rigorous testing approach to ensure applications are functionally sound, secure, performant, and maintainable;
- Ensure user interfaces are compliant with accessibility standards and perform well on all target devices;
- Work with infrastructure engineers (DevOps) to design continuous integration and deployment pipelines that deliver incremental releases frequently and reliably;
- Ensure the solutions follow modern engineering approaches, adhere to our engineering standards and comply with required standards, as well as fulfil functional and non-functional requirements;
- Have line management responsibilities.
Essential Criteria
- AWS Infrastructure: Proven experience implementing applications as part of complex, multi-component services running on multiple environments and AWS accounts;
- Data Management: Proven experience working with relational and non-relational databases and safeguarding sensitive data, applying appropriate design patterns to ensure robustness in communicating with operational data stores.
- Scalable Infrastructure: Experience building and running containerised applications as part of a Kubernetes cluster (e.g.: EKS), as well as asynchronous and event-driven architectures (e.g. SNS).
- Modern Languages: Demonstrable skills in modern development languages (e.g. Java, Python, TypeScript), and aptitude to learn more.
- Software Design: Deep understanding of software design patterns and applying them effectively to produce testable solutions that can adapt to changing needs.
- Agile & Influence: Adaptable team player who understands the Agile methodology and can influence others.
- Engineering at Scale: Harnesses engineering standards and documentation to shape engineering across the organisation, pioneering new approaches and documenting existing patterns.
Additional information:
A minimum 60% of your working time should be spent at your principal workplace. Although requirements to attend other locations for official business will also count towards this level of attendance.