Senior Software Engineer

  • Ultra PCS Limited
  • Bamfurlong, Gloucestershire
  • 14/10/2025
Full time Information Technology Telecommunications Software Engineer Testing

Job Description

Ultra-PCS is seeking a talented C/C++ Software Engineer who has experience in embedded software development, passionate about learning software and keen to join dynamic team.

Ultra PCS is a leader in providing solutions for aerospace and defence systems. We are seeking an experienced Software Engineer to join our team. We are searching for a dynamic highly skilled Software Engineer with a wide breadth of skills who is interested in applying those skills and furthering their development skillset on a variety of software projects.

As a Senior Software Engineer, you will be expected to derive requirements, produce software architecture, develop test specifications, perform coding, debugging and testing on a variety of platforms from microcontrollers, to asymmetric multi-processor systems. You will participate in all phases of full software development lifecycle. This role will suit a self motivated developer who is keen to take on a new challenge and who has a variety of programming languages and keen to learn new skills.

Key Responsibilities:

Software Development:

  • Requirements definition, design, development, and verification for a variety of integrity levels, from safety critical to proof of concept.
  • Coding to internel coding standards and ensuring high quality robust solutions.
  • Conduct design and code reviews to maintain high-quality standards.
  • Debugging in embedded environments.

Required Skills and Experience

Technical Expertise:

  • High proficiency in C and C++ and cross compiling and debugging on embedded targets.
  • Embedded Linux knowledge (Yocto, Buildroot)
  • Proficiency in real-time software design and RTOS concepts.
  • CI/CD workflow. Experience with Git, Containerised development environments, CI/CD
  • Familiarity with debugging tools, hardware interfaces, and safety analysis techniques.

Personal Attributes:

  • Strong organizational skills with the ability to collaborate in a wider team.
  • Excellent communication skills, capable of effectively liaising with technical and non-technical stakeholders.

Desirable Qualifications:

  • Working Knowledge of Rust
  • Experience with aerospace systems or similar high-reliability domains.
  • Familiarity with other safety-critical standards (e.g., ARP4754, ARINC 653, DO-254, DO-248).
  • Understanding of hardware/software integration and hardware-in-the-loop (HIL) testing.