Principal Software Engineer

Ultra

Maidenhead

On-site

GBP 90,000 - 130,000

Full time

10 days ago

Get more replies from employers

Send a job-specific resume in minutes.

Benefits offered by this job

Annual Bonus Scheme
Private Medical Cover
25 days’ holiday with option to buy 5
Pension Contribution
4 x Life Assurance Cover
Flexible working hours
Security Clearance Allowance

Job summary

Ultra’s Software Engineering function leads the lifecycle of embedded and application software within the Cyber UK units. You will architect, design and implement software across multiple projects, mentoring engineers and ensuring delivery within schedule and cost targets.

The role requires strong C/C++ expertise, proficiency with RTOSes and Linux, and experience with design patterns and testing. Applicants should be able to obtain the required UK security clearances and work within a

Qualifications

  • Degree in an engineering, mathematical or science‑based subject or equivalent experience.
  • Significant experience in embedded product development (bare-metal and RTOS such as ThreadX, QNX or Linux).
  • Embedded Linux application, kernel and/or driver development.
  • Proficiency in C and C++.
  • Significant experience with best practice software development processes/lifecycles.
  • Experience with Object‑Oriented Design and Design Patterns (SOLID).
  • Experience in software testing and design for test.

Responsibilities

  • Architect, specify requirements, design, implement and test embedded and/or application software within a software engineering team.
  • Apply object-oriented design techniques to enable code reuse and testing framework integration.
  • Review system design artefacts to derive software requirements and architecture.
  • Design, document, review and maintain software design using RSA, EA; ensure compatibility with code generation where needed.
  • Maintain knowledge of best practices, standards and tools (TDD/BDD, CI, DevSecOps, static analysis).
  • Estimate time and effort for software activities and deliver to schedules and budgets.
  • Lead defined aspects of the project to balance requirements, schedule and cost.
  • Generate and review technical proposals and estimates for bids and contracts.
  • Mentor and coach engineers; sign off major technical documents and lead reviews.

Skills

Embedded C/C++
RTOS/bare-metal
Linux kernel/driver
C language
OOD/Design patterns (SOLID)
Software testing

Education

Bachelor's degree in engineering/science
Master's degree (desirable)

Tools

DOORS
RSA
Enterprise Architect
UML/SysML
Git/CI

Job description

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 applies technical / professional knowledge, making independent judgements based on practice and significant previous experience to support decision making. Often seen as a referral point or more senior team member to elevate more complex problems. Roles will act independently with minimal guidance, and may act as project managers/formal mentors for junior staff.

Scope

Provide 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.

Responsible for / 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 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++ 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 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 the associated effort, costs and risks, for bids and proposals, leading to contract awards.
  • Mentors and coaches less experienced engineers; shares knowledge willingly and constructively.
  • Reviews and signs off significant technical documents; frequently chairs technical reviews for significant deliverables.
  • May have between 0 and 4 direct reports.
  • Explains 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.
  • SFIA Programming / software development: Level 2-4
  • SFIA Programming / software development: Level 5
    • Takes technical responsibility across all stages and iterations of software development.
    • Plans and drives software construction activities. Adopts and adapts appropriate software development methods, tools and techniques.
    • Measures and monitors applications of project/team standards for software construction, including software security.
    • Contributes to the development of organisational policies, standards, and guidelines for software development.
Role requirements
  • 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.
    • Significant 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++
    • Significant experience of best practice software development processes/lifecycles
    • 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.
    • Rust
    • Javascript, node.js, react.js
    • Communications protocols – e.g. TCP/IP
    • Experience of using version control, continuous integration and automated test tools and frameworks
    • Exposure to defensive coding techniques and standards such as MISRA
    • Advanced knowledge of software engineering practices, methodologies, processes, techniques and technology trends
    • Experience of DOORS, RSA, Enterprise Architect, UML and SysML

#IC

#LI-EG1

#LI-ONSITE

Notice

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. For more information, please visit the UKSV website.

Our Benefits

Every employee is critical to our success, and as such, we offer a range of flexible employee benefits, including:

  • Participation in an Annual Bonus Scheme
  • Private Medical Cover
  • 25 days’ holiday (plus Bank Holidays) with the option to buy an extra 5 days
  • Pension Contribution
  • 4 x Life Assurance Cover
  • Flexible working hours with opportunity for a 1pm finish on a Friday
  • Flexible benefits including cycle to work scheme, will writing and more
  • Security Clearance Allowance – where relevant and subject to you holding the required security clearance
Diversity, Equity & Inclusion Statement
Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Principal Software Engineer
Principal Software Engineer

Worky • Maidenhead

On-site
GBP 65,000 - 95,000
Annual Bonus
Private Medical Cover
25 days holiday
+5
Software Engineer
Software Engineer

Ultra I&C • Maidenhead

On-site
GBP 40,000 - 60,000
Annual Bonus Scheme
Private Medical Cover
25 days holiday plus Bank Holidays
+3
Chief Software Architect
Chief Software Architect

Ultra I&C • Maidenhead

On-site
GBP 60,000 - 90,000
Annual Bonus Scheme
Private Medical Cover
25 days’ holiday plus Bank Holidays
+2
Systems Engineering Manager
Systems Engineering Manager

Ultra I&C • Maidenhead

On-site
GBP 90,000 - 130,000
Participation in an Annual Bonus Scheme
Private Medical Cover
25 days’ holiday
+5
Systems Lead - Programme
Systems Lead - Programme

Ultra I&C • Maidenhead

On-site
GBP 60,000 - 80,000
Participation in an Annual Bonus Scheme
Private Medical Cover
25 days’ holiday with option to buy extra days
+2
Systems Engineering Manager - Programmes
Systems Engineering Manager - Programmes

Ultra Electronics Group • Maidenhead

On-site
GBP 50,000 - 70,000
Private Medical Cover
25 days holiday plus Bank Holidays
Pension Contribution
+1
Systems Lead - Programme
Systems Lead - Programme

Ultra Electronics Group • Maidenhead

On-site
GBP 65,000 - 85,000
Annual Bonus Scheme
Private Medical Cover
25 days holiday plus Bank Holidays
+3
Systems Engineering Manager
Systems Engineering Manager

Ultra Electronics Group • Maidenhead

On-site
GBP 60,000 - 80,000
Private Medical Cover
25 days’ holiday plus Bank Holidays
Pension Contribution
+2
Safety Engineer
Safety Engineer

Ultra I&C • Maidenhead

On-site
GBP 65,000 - 90,000
Annual Bonus Scheme
Private Medical Cover
25 days’ holiday (plus Bank Holidays)
+2
Systems Engineering Manager - Programmes
Systems Engineering Manager - Programmes

Ultra I&C • Maidenhead

On-site
GBP 60,000 - 90,000
Annual Bonus Scheme
Private Medical Cover
25 days’ holiday (plus Bank Holidays)