Chief Software Architect
Listed on 2026-05-31
-
Software Development
Software Engineer, Software Architect, DevOps, Embedded Software Engineer
Job Description
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.
- Provide technical direction and exert technical influence across multiple projects, such that the optimal approach, architecture, design, code re‑use and tool chain are selected.
- Collaborate with various stakeholders to develop software requirements, architectures and designs that satisfy the system and security requirements, and design parameters and constraints, ensuring a high quality, modular, compliant and timely approach.
- Work with the software leads on a range of projects ensuring alignment to company processes and standards are maintained.
- Create development plans with software leads, engineering project leads and project managers to deliver or demonstrate value as early as possible to the customer.
- Work in a consultative approach across projects to help resolve issues with architecture, coding, or design in a timely manner.
- Work closely with the system architects and the wider systems engineering team to ensure design consistency, modularity and re‑use, focusing on technical excellence and process improvement and enabling a high‑quality library of reusable components.
- Apply object‑oriented design techniques to enable code re‑use and integration with testing frameworks.
- Specify, architect, design, document, review and maintain the software design using UML and SysML modelling tools such as RSA and Enterprise Architect, ensuring the model can be used for accurate code generation as required.
- Develop and maintain knowledge of best practice development and project engineering processes, language standards and tools, e.g. TDD/BDD, Continuous Integration, Dev Ops, Dev Sec Ops , static and run‑time analysis tools, C#, C++, Rust standards and secure software development.
- Propose improvements in tools, processes and techniques that support quality and innovation and make the software development more efficient and effective, where appropriate.
- Actively contribute to the software community of practice, sharing new tools and techniques to advance the knowledge and efficiency of the software team.
- 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 or involved parties.
- Generate and review technical proposals, and provide estimates for the associated effort, costs and risks for bids and proposals, leading to contract awards.
- May manage a team of up to four engineers.
- Manage security of information as defined in the Security manual to ensure compliance with Government regulations.
SFIA 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…
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search: