Job Search and Career Advice Platform

Enable job alerts via email!

Senior EmbeddedSoftware Engineer

TechBiz Global

Manchester

On-site

GBP 55,000 - 75,000

Full time

Today
Be an early applicant

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A global technology company in Manchester seeks a Senior Embedded Software Engineer to architect and maintain innovative software solutions across various hardware platforms. The ideal candidate has over 5 years of deep experience in embedded software, proficient in C, C++, and Python, and familiar with Linux and RTOS environments. Your role includes collaborating with cross-functional teams, mentoring junior engineers, and implementing best practices in code development. This position offers a dynamic work environment and opportunities for career growth.

Qualifications

  • 5+ years of embedded software development, emphasizing cross-platform or portable code.
  • Proven ability to develop for both Linux (Yocto, Ubuntu) and RTOS (FreeRTOS, Zephyr, RTEMS).
  • Deep experience with multi-bus, multi-device patterns.

Responsibilities

  • Design and develop a hardware-agnostic HAL and middleware stack.
  • Implement and maintain bus-protocol drivers.
  • Develop Python scripts for automation.

Skills

C (99/11)
Modern C++ (11/14/17)
Python scripting
I2C
SPI
UART
OOP principles
MISRA C/C++ compliance

Education

Bachelor's or Master's in Electrical Engineering, Computer Engineering, Computer Science

Tools

Git
Docker
Job description

As Senior Embedded Software Engineer, you will architect, implement, and maintain our hardware‑agnostic and OS‑agnostic on‑board software framework. Your work in collaboration with the AI team will enable integration of any hardware into any bus in less than a day instead of months, ensuring robustness, safety, and performance across Linux and real‑time operating systems.

What You’ll Do
  • Platform & Abstraction
    • Design and develop a hardware‑agnostic HAL and middleware stack in C/C++, supporting ARM Cortex‑A/R/M, RISC‑V, etc.
    • Create OS‑agnostic abstraction layers to target Linux (Yocto/Ubuntu) and RTOS (FreeRTOS, Zephyr, RTEMS) with minimal code divergence.
  • Driver & Protocol Implementation
    • Implement and maintain bus‑protocol drivers (I2C, SPI, UART) with multi‑bus and multi‑instance support for redundancy.
    • Define and adhere to clear software‑to‑hardware interface contracts (ICDs/datasheet‑driven), ensuring consistent behavior across platforms.
  • Architecture & Best Practices
    • Apply OOP principles in C++ and structured design in C to build modular, testable components.
    • Enforce MISRA C/C++ and CERT Secure Coding guidelines; integrate static analysis, code reviews, and Git‑based CI pipelines.
  • Automation & Testing
    • Develop Python scripts to automate configuration of the on‑board software, automate build, flashing, and validation across multiple target boards.
    • Build and maintain hardware‑in‑the‑loop and software‑in‑the‑loop test frameworks to continuously test, validate, and verify the on‑board software and platform compatibility.
  • Collaboration & Mentorship
    • Collaborate with the Software Lead, AI Engineer and Backend team.
    • Mentor junior engineers, share knowledge on cross‑platform strategies, and foster an iterative "try, learn, improve" culture.
Qualifications
  1. Bachelor's or Master's in Electrical Engineering, Computer Engineering, Computer Science, or equivalent.
  2. 5+ years of embedded software development, with emphasis on cross‑platform or portable code.
  3. Expert in C (99/11) and Modern C++ (11/14/17); solid understanding of OOP and procedural design.
  4. Deep experience with I2C, SPI, UART (multi‑bus, multi‑device patterns).
  5. Proven ability to develop for both Linux (Yocto, Ubuntu) and RTOS (FreeRTOS, Zephyr, RTEMS).
  6. Python scripting for coding, build/test automation.
  7. Familiarity with hardware debugging (JTAG/SWD, logic analyzers, oscilloscopes).
  8. Strong version control workflow (Git, GitFlow) and CI/CD integration.
Nice‑to‑Have
  • Background in satellite or aerospace on‑board computers (OBCs) and Flight Software Frameworks.
  • Exposure to container‑based CI for embedded builds (Docker).
  • Knowledge of additional field buses (CAN/CAN‑FD, MIL‑STD, etc.).
  • Experience with secure boot or firmware‑update mechanisms.
  • Prior work on middleware or plugin frameworks.
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.