Enable job alerts via email!

Senior Software Engineer

Ultra PCS Limited

England

On-site

GBP 45,000 - 65,000

Full time

Today
Be an early applicant

Job summary

A leading technology firm in the United Kingdom is seeking a talented C/C++ Software Engineer. The ideal candidate will have extensive experience in embedded software development, particularly with C and C++. Responsibilities include software architecture, coding, debugging, and overseeing the full software development lifecycle. Applicants should have strong organizational and communication skills, and it would be advantageous to have familiarity with aerospace systems and safety standards.

Qualifications

  • Experience in embedded software development.
  • Ability to participate in all phases of software development lifecycle.
  • Knowledge of safety-critical standards and software integration.

Responsibilities

  • Define requirements, design, develop, and verify software solutions.
  • Conduct code reviews and ensure adherence to coding standards.
  • Debug embedded systems and maintain high-quality outputs.

Skills

C and C++ proficiency
Debugging on embedded targets
Embedded Linux knowledge
Real-time software design
CI/CD experience
Collaboration skills
Communication skills

Education

Degree in Computer Science or related field

Tools

Git
Containerized development environments
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
  • 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.
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.