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. An individual in this role will provide technical leadership and oversight to the software engineering team of 20-30 software engineers. Define and roll out best practice processes and tools in terms of software development and ensure close collaboration with the hardware, systems and firmware development teams. Direct embedded and application software definition and requirements analysis, architecture, design, implementation, documentation and testing of embedded and application software for the software element(s) of multi discipline development programmes.
Key ResponsibilitiesSFIA Programming / Software Development: Levels 2-5. SFIA Programming / Software Development: Level 6. Develop organisational policies, standards and guidelines for software construction and refactoring. Plan and lead software construction activities for strategic, large and complex development projects. Adapt or develop new methods, organisational capabilities and drive adoption of, and adherence to, policies and standards.
Advanced knowledge and experience of at least one of the following: C/C++, Rust, embedded product development (including RTOSes), Windows and Linux application and driver development.
Expert knowledge of software engineering practices, methodologies, processes, techniques and technology trends. Track record of delivering complex software solutions on schedule and meeting or exceeding customer needs.
Experience with version control, change control and bug tracking tools and systems, including administrative tasks.
Experience defining and rolling out best practice firmware development processes/lifecycles, continuous integration and automated test tools and frameworks.
Experience deploying coding standards for defence, space or air worthiness techniques and standards such as MISRA.
Experience in DOORS, UML and SysML is advantageous.
Sound knowledge of crypto design/implementation and high grade, high assurance development processes.
Degree in an engineering, mathematical or science based subject.
Security ClearanceCandidates must be willing and able to obtain, and maintain, DV security clearance.
Due to the nature of the programs we deliver for our customers, candidates may need to obtain the relevant security clearance or handle export controlled material as defined by the role's requirements.
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.
BenefitsWe are an equal opportunity employer and value diversity and inclusivity. We do not discriminate based on race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status or disability status. We also support requests for flexible working arrangements wherever possible.