Chief Software Architect

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 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 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, within the Cyber UK Business Unit delivering multiple concurrent research, development and production programmes ranging from tens of £k to several £m.

Key Responsibilities

  • 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.
  • Collaborating with various stakeholders, develop software requirements, architectures and designs that satisfy the system and security requirements, and design parameters and constraints, in order that a high quality, modular, compliant and timely approach is taken.
  • Works with the software leads on a range of projects ensuring alignment to company processes and standards are maintained.
  • Work with software leads, engineering project leads and project managers to create development plans to deliver / demonstrate value as early as possible to the customer.
  • Works 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, design modularity and design re-use, with a focus on technical excellence and process improvement enabling the creation of a high-quality library of re-usable 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, DevOps, DevSecOps, static and run-time analysis tools, C#, C++, Rust standards and secure software development.
  • Proposes improvements in tools, processes and techniques that support quality and innovation and make the software development more efficient and effective, where appropriate. Actively contributes to the software community of practice, sharing new tools and techniques to advance the knowledge and efficiency of the software team.
  • Reviews and signs off significant technical documents; frequently chairs technical reviews for significant deliverables.
  • 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
    • Develops organisational policies, standards, and guidelines for software construction and refactoring.
    • Plans and leads software construction activities for strategic, large and complex development projects.
    • Adapts or develops new methods and organisational capabilities and drives adoption of, and adherence to policies and standards.

Required Experience, Skills and Qualifications

  • 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 to schedule and meeting / exceeding customer needs.
  • Experience of version control, change control and bug tracking tools and systems, including administration tasks
  • Experience of defining and rolling out best practice firmware development processes/lifecycles
  • Experience of defining and rolling out continuous integration and automated test tools and frameworks
  • Experience of deploying coding standards for defence, space or air worthiness techniques and standards such as MISRA
  • Experience of DOORS, UML and SysML would be advantageous.
  • Degree in an engineering, mathematical or science-based subject.
  • Desirable: Sound knowledge of crypto design / implementation and High Grade/High Assurance development processes.

Security Clearance

Candidates must be willing and able to obtain, and maintain, DV security clearance

Job Details

Company
Ultra Cyber Limited
Location
SL6, Woolley Green, Royal Borough of Windsor and Maidenhe, Berkshire, United Kingdom
Employment Type
Permanent
Posted