Job Search and Career Advice Platform

Enable job alerts via email!

Senior EmbeddedSoftware Engineer

TechBiz Global

City of Westminster

On-site

GBP 60,000 - 80,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 leading technology company in the UK is looking for a Senior Embedded Software Engineer to design and develop hardware-agnostic software solutions. The role involves working collaboratively with AI teams, mentoring junior engineers, and ensuring robust performance in diverse environments. The ideal candidate will have over 5 years of experience in embedded software development, expertise in C and C++, and familiarity with various bus protocols and Linux-based systems. This position offers a dynamic work environment with opportunities for professional growth.

Qualifications

  • 5+ years of embedded software development experience, focusing on cross-platform code.
  • Expert knowledge of C and Modern C++ with OOP and procedural design principles.
  • Strong background in bus protocols such as I2C, SPI, UART.

Responsibilities

  • Design and develop a hardware-agnostic HAL and middleware stack in C/C++.
  • Implement and maintain bus-protocol drivers and ensure consistent behavior.
  • Develop Python scripts for automation in build, flashing, and validation.

Skills

Embedded software development
C programming
Modern C++
Python scripting
Version control (Git)

Education

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

Tools

JTAG/SWD
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.