Senior Software Engineer (Government Critical National Infrastructure)
We are in search of a Senior Software Engineer to support a Government Critical National Infrastructure project. This is a full‑time, permanent role. Applicants must have SC clearance or be willing to undergo the clearance process.
Responsibilities
- Lead multiple software development teams to deliver solutions with architectures that provide capability improvements, reduced costs and flexibility to adapt quickly to customer needs.
- Understand high‑level features and desired outcomes (both now and future).
- Assist team building, understanding and analysing desired outcomes.
- Responsible for the application‑level outcomes, prioritisation and maintaining a roadmap of capability improvements in conjunction with the Senior Leadership Team.
- Formulate software designs that create solutions meeting various desired outcomes while balancing goals and constraints (e.g., customer environment, cybersecurity, continuous integration/continuous delivery).
- Clearly communicate the software architecture to software teams with varying levels of technical understanding.
- Verify implementation to validate consistency with the agreed architecture and meet desired outcomes.
- Manage change to the software architecture and control software complexity.
- Make software architecture and solutions as flexible as possible.
- Defend against suggested changes that introduce undue complexity or future supportability issues when appropriate.
- Assist with trade‑off analyses of increased complexity.
- Ensure design goals—performance, modularity, reliability, maintainability, reusability and accessibility—are met.
- Design, test, and evaluate technologies and vendor solutions for inclusion into existing architecture to solve technical or customer problems.
- Lead design reviews and provide feedback.
- Ensure backlog includes any quality issues and technical debt related to architecture.
- Clarify quality software requirements.
- Identify software risks early in the development cycle.
Qualifications & Experience
- Degree in a technical discipline and extensive recent experience in software development processes, including designing, developing and implementing enterprise‑scale technology.
- Proven experience in leading teams and developing architectures.
- Experience designing enterprise architecture with modern technologies (cloud computing, CI/CD, virtualization, agile design and development, REST services, standards‑based authentication and authorisation protocols).
- Experience collaborating with cybersecurity, product owners, users and developers to design and communicate an innovative and secure architecture that enables continuous delivery of software.
- Experience decomposing monolithic software into manageable pieces, especially in related software domains.
- Experience designing shared services such as caching, eventing and messaging in a distributed environment.
- Extensive Java or C experience, including best‑practice coding, unit testing and source control management.
- Strong communication skills and ability to work independently and/or under supervision.
Desired Skills
- C/C++ experience.
- Perl, Python and/or Bash scripting experience.
- Database skills: Oracle or PostgreSQL.
- Experience with Microsoft tools that support solution design (e.g., Visio).
Eligibility
To be eligible for this role you must have UK citizenship and have been a resident in the UK for a minimum of five years.
Compensation
Pay Range: £60,100.00 – £77,000.00
Benefits
Contributory Pension Scheme; Private Medical Insurance; 33 days Annual Leave (including public and privilege holidays); Access to Flexible Benefits (life assurance, health schemes, gym memberships, annual buy‑and‑sell holidays and a cycle‑to‑work scheme); Flexi‑Time Working.
Commitment to Diversity
We are committed to diversity and inclusion in the workplace.