Senior EmbeddedSoftware Engineer

TechBiz Global
1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Tech stack

Abstraction Layers
Artificial Intelligence
ARM
Automation of Tests
C++
Ubuntu (Operating System)
Static Program Analysis
Code Review
Computer Engineering
Linux
Middleware
Embedded Software
Firmware
FreeRTOS
Hardware Interface Design
Joint Test Action (IEEE Standards)
Python
MISRA C (C Programming Language)
Object-Oriented Software Development
Real-Time Operating Systems
Oop Languages
Reduced Instruction Set Computing
Secure Coding
Universal Asynchronous Receiver/Transmitter
Scripting (Bash/Python/Go/Ruby)
Serial Peripheral Interface
Backend
GIT
Yocto
Information Technology
Software Version Control
Docker
Hardware Debugging

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

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

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

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

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

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

Requirements

  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

  1. Background in satellite or aerospace on-board computers (OBCs) and Flight Software Frameworks.

  2. Exposure to container-based CI for embedded builds (Docker)

  3. Knowledge of additional field buses (CAN/CAN-FD, MIL-STD, etc.)

  4. Experience with secure boot or firmware-update mechanisms

  5. Prior work on middleware or plugin frameworks

About the company

At TechBiz Global, we are providing recruitment service to our TOP clients from our portfolio. We are currently seeking a

Apply for this position