Senior Embedded Software Engineer

The Role:

We are seeking a highly skilled and motivated Embedded Systems Engineer to join our growing team. In this role, you will play a key role in developing robust and efficient innovative software solutions. You will work across the entire software stack, from low-level hardware interactions to higher-level application enablement.

Responsibilities:

  • Design, develop, and optimise runtimes for embedded environments, ensuring efficient resource utilisation and performance.
  • Develop and maintain bootloaders and Board Support Packages (BSPs) for various embedded platforms.
  • Design and implement device drivers for a wide range of peripherals, interacting directly with hardware.
  • Integrate runtimes with Real-Time Operating Systems (RTOS) or bare-metal systems, enabling the development of modular and scalable embedded applications.
  • Collaborate with hardware engineers to define and optimise hardware/software interfaces.
  • Perform debugging, testing, and validation of embedded software to ensure high reliability and stability.
  • Contribute to architectural discussions and drive best practices in embedded software development.
  • Document designs, implementations, and test procedures.
  • Stay up-to-date with emerging technologies and industry trends in embedded systems, microservices, and containerization.

Required Skills and Qualifications:

  • Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
  • Proven experience in embedded software development
  • Strong proficiency in C/C++ programming for embedded systems.
  • In-depth understanding of RTOS concepts and experience with at least one RTOS (e.g., FreeRTOS, Zephyr).
  • Experience with bare-metal programming and understanding of microcontroller architectures (e.g., ARM Cortex-M/R/A, RISC-V).
  • Demonstrated experience in developing bootloaders and BSPs.
  • Experience with debugging tools (e.g., JTAG/SWD debuggers, oscilloscopes, logic analysers).
  • Version control proficiency (Git).

Highly Desired Skills (Bonus Points For):

  • Experience with microservices architecture and development in constrained environments.
  • Familiarity with container technologies (e.g., Docker, LXC) and their application in embedded systems.
  • Experience with integrating and optimising container runtimes on RTOS or bare metal.
  • Experience with scripting languages (e.g., Python, Bash) for automation.
  • Familiarity with network protocols and communication interfaces.
  • Understanding of security principles in embedded systems.
  • Experience with continuous integration/continuous deployment (CI/CD) pipelines for embedded software.

Join Our Team:

If you are a passionate Embedded Systems Engineer with a desire to push the boundaries of what's possible in embedded software and microservices, we encourage you to apply!

Company
The Embedded Industry Is Entering a New Era
Location
Cambridge, Cambridgeshire, UK
Posted
Company
The Embedded Industry Is Entering a New Era
Location
Cambridge, Cambridgeshire, UK
Posted