cover image
Ultra Electronics Group

Software Engineer

On site

Maidenhead, United kingdom

Full Time

11-11-2025

Share this job:

Skills

Python JavaScript Rust Version Control Test Research Architecture Linux Programming node.js Software Development software testing C++ TCP/IP

Job Specifications

Company: Ultra Intelligence & Communications

Cyber (UK) Business

Powering Decision

Join the team redefining defense technology. From engineering systems that save lives to leading programs that change the battlefield—find your place in the future of defense.

Cyber Business

Our Cyber business unit is at the forefront of pioneering advanced cryptographic and key management solutions, facilitating the confidential exchange of vital information for customers operating at both tactical and strategic echelons. Join our team and participate in the innovation that ensures the highest security and trust worldwide.

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 in order to deliver

software components into projects and products and supports the deployment and maintenance of software components.

A professional at this grade possesses knowledge for specific fields and performs structured work assignments. Uses established procedures to solve problems by making judgments and gets work done with quality under moderate supervision. Has limited discretion to vary from established procedures.

Scope

Define, 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.

Responsible For / Key Responsibilities

Current:
Implement software under the direction of the project’s software lead and engineering software lead.
SFIA Programming / software development: Level 2
Designs, codes, verifies, tests, documents, amends and refactors simple programs/scripts.
Applies agreed standards and tools to achieve a well-engineered result.
Reviews own work
Manage security of information as defined in the Security manual to ensure compliance with Government regulations.
Developing into:
Specify requirements, design, implement and test embedded software 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 the high-level system requirements.
Design, document, review and maintain the software design using modelling tools such as RSA and EA, ensuring 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, DevSecOps, static and run-time analysis tools, C#/C++/Python/C standards and secure software development.
Estimate time and effort required for software activities and deliver to these time and effort 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 defined aspects of the project to achieve optimal balance between requirements, schedule and cost.
SFIA Programming / software development: Level 3
Designs, codes, verifies, tests, documents, amends and refactors moderately complex programs/scripts.
Applies agreed standards and tools to achieve a well-engineered result.
Monitors and reports on progress. Identifies issues related to software development activities. Proposes practical solutions to resolve issues.
Collaborates in reviews of work with others as appropriate

Role Requirements

Essential:
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).

Qualifications / Skills Required

Essential:
Degree in an engineering, mathematical or science-based subject or equivalent experience.
Experience of at least one of the following;
Embedded product development (including bare-metal and RTOSes such as ThreadX, QNX or Linux)
Embedded Linux application, kernel and/or driver development.
C and C++
Experience of Object-Oriented Design and Design Patterns
Experience of software testing and design for test
Experience of using version control, continuous integration and automated test tools and frameworks
Desirable:
Python
JavaScript, node.js
Rust
Communications protocols – e.g. TCP/IP
Experience of best practice software development processes/life

About the Company

Know more