Principal Software Engineer
Listed on 2026-06-03
-
Software Development
Software Engineer, Software Architect
Job Description
The Ultra Engineering function manages a portfolio of specialist capabilities, generating highly differentiated solutions and products by applying electronic, mechanical, and software technologies in demanding and critical environments to meet customer needs. The Software Engineering function in Ultra supports the software development lifecycle consisting of requirements analysis, design, implementation, test, and verification to deliver software components into projects and products and supports the deployment and maintenance of software components.
ScopeProvide technical leadership and define, architect, design, develop, document and test embedded and/or application software as part of a software engineering team of 5‑20 engineers within the Cyber UK Business Unit, delivering multiple concurrent research, development and production programmes ranging from tens of £k to several £m. Line management of up to 5 software engineers.
Key Responsibilities- Architect, specify requirements, design, implement and test embedded and/or application software in accordance with the project software development process to ensure high quality and timely software deliverables.
- Apply object‑oriented design techniques to enable code re‑use and integration with testing frameworks.
- Review and understand system design artefacts to enable the derivation of software requirements and architecture that meet high‑level system requirements.
- Design, document, review and maintain the software design using modelling tools such as RSA and EA, ensuring the model can be used for accurate code generation as required.
- Develop and maintain knowledge of best practice development processes, language standards and tools (e.g. TDD/BDD, Continuous Integration, Dev Sec Ops , static and run‑time analysis tools, C++ standards and secure software development).
- Estimate time and effort required for software activities and deliver to these estimates to ensure cost and schedule adherence.
- Contribute to the Software Community of Practice by proposing improvements in tools, processes and techniques that support quality and innovation and make the software development more efficient and effective.
- Actively contribute to and/or lead defined aspects of the project to achieve optimal balance between requirements, schedule and cost.
- Generate and review technical proposals, and provide accurate estimates for effort, costs and risks for bids and proposals, leading to contract awards.
- Mentor and coach less experienced engineers; share knowledge willingly and constructively.
- Review and sign off significant technical documents; frequently chair technical reviews for significant deliverables.
- Explain technically complex concepts clearly to less technical/involved parties.
- Manage security of information as defined in the Security manual to ensure compliance with Government regulations.
- May have between 0 and 4 direct reports.
Willing and able to obtain and maintain SC security clearance. Willing and able to obtain and maintain DV security clearance following attainment of SC clearance. Applicants must be able to obtain and maintain the appropriate level of security clearance for the role. Due to the nature of our work, you must be a British Citizen who has been resident in the UK for the past 5 years in order to apply for SC clearance and 10 years for DV.
Qualifications & Skills- Essential:
Degree in an engineering, mathematical or science‑based subject or equivalent experience. - Significant experience of at least one of the following:
- Embedded product development (including bare‑metal and RTOSes such as Thread
X, QNX or Linux) - Embedded Linux application, kernel and/or driver development
- C and C++
- Embedded product development (including bare‑metal and RTOSes such as Thread
- Significant experience of best practice software development processes and life cycles.
- Experience of Object‑Oriented Design and Design Patterns such as SOLID.
- Experience of software testing and design for test.
- Desirable:
Master’s degree in an engineering, mathematical or science‑based subject or equivalent experience. - Desirable:
Rust, JavaScript, node.js, react.js. - Desirable:
Communications protocols (e.g. TCP/IP). - Desirable:
Experience of using version…
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search: