Embedded Software Engineer
Role details
Job location
Tech stack
Job description
We're looking for experienced Embedded Software Engineers to work on complex, real-world products across energy, industrial, oil & gas, medical, and consumer sectors. Projects range from bare-metal and RTOS-based embedded systems to embedded Linux platforms, with growing use of modern C++. This role offers significant technical variety, customer exposure, and the opportunity to see products move rapidly from concept to production.
What You'll Be Doing
Developing embedded and real-time software in C and modern C++ * Working with RTOS-based systems (e.g. FreeRTOS) and embedded Linux * Developing software for ARM- and STM-based microcontrollers * Implementing and debugging low-level drivers and interfaces * Working with communication protocols including I2C, SPI, CAN, RS232, Ethernet * Supporting system integration, testing, and production handover * Producing high-quality, customer-facing documentation
Requirements
8-10+ years' experience in embedded software development * Strong commercial experience with C/C++ in embedded systems * Experience with RTOS and real-time constraints * Confident working close to hardware and collaborating with electronics engineers * Comfortable in a busy, project-based environment
Desirable Experience
Embedded Linux (Yocto, Debian) * STM32 / ARM microcontrollers * Oil & gas or industrial systems * Wireless technologies (Bluetooth, Wi-Fi, LoRa, NFC) * Object-oriented design and software architecture * Exposure to security, cryptography, or DSP