Embedded Software Engineer (IoT)

ZENOVO LTD
Market Bosworth, UK
about 1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Compensation
£75,000.0
Working hours
Regular working hours
Job source

Tech stack

ARM Architecture User Authentication Automation of Tests Microsoft Azure Bluetooth Low Energy (Bluetooth) Booting (BIOS) C++ (Programming Language) Communications Protocols Data Security Software Debugging Linux Device Drivers
+27 more
Linux on Embedded Systems Embedded Software Firmware GNU Debuggers Hardware-In-The-Loop Simulation Joint Test Action (IEEE Standards) Python (Programming Language) Message Queuing Telemetry Transport (MQTT) Software Architecture Real-Time Operating Systems LoRaWaN Smart Devices Software Engineering Universal Asynchronous Receiver/Transmitter Wi-Fi Technology Google Cloud Serial Peripheral Interface PIC Microcontroller Git Yocto Gitlab-ci Information Technology Zigbee Multiaccess Edge Computing Stream Processing Aws Iot Jenkins

Job description

  • Design, develop, and maintain embedded software for IoT devices and edge-connected systems.
  • Develop low-level embedded software, including device drivers, board support packages (BSPs), and RTOS/kernel components.
  • Implement and optimise secure IoT communication protocols such as MQTT, BLE, Wi-Fi, Zigbee, and LoRa.
  • Develop connectivity, telemetry, remote monitoring, and device management functionality.
  • Build automated test frameworks, perform Hardware-in-the-Loop (HIL) testing, and support prototype validation.
  • Collaborate closely with hardware, cloud, and product teams to deliver end-to-end IoT solutions.
  • Troubleshoot embedded hardware/software issues and optimise system performance, reliability, and power consumption.
  • Maintain technical documentation and contribute to software architecture decisions.
  • Participate in CI/CD pipelines for automated testing, deployment, and software delivery.

Requirements

  • Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, Electronics Engineering, or a related discipline.
  • Strong commercial experience developing embedded software in C/C++.
  • Experience with Linux-based embedded systems and Python for scripting, automation, or testing.
  • Hands-on experience with microcontrollers such as ARM Cortex-M, STM32, ESP32, or similar platforms.
  • Strong understanding of IoT architectures, edge devices, and connected product development.
  • Experience implementing wireless communication protocols including BLE, Wi-Fi, Zigbee, Thread, LoRaWAN, or cellular IoT technologies.
  • Knowledge of secure communications, device authentication, encryption, and secure data transmission.
  • Experience with low-power embedded design and battery-powered IoT devices.
  • Familiarity with automated testing frameworks and debugging tools such as JTAG, GDB, oscilloscopes, and logic analysers.
  • Experience using Git and CI/CD tools such as Jenkins, GitLab CI, or Azure DevOps.

Desirable Skills

  • Yocto Linux and embedded Linux customisation.
  • OTA firmware update systems and device lifecycle management.
  • Bootloader development and firmware architecture.
  • Experience with cloud IoT platforms (AWS IoT, Azure IoT, Google Cloud IoT, or similar).
  • Knowledge of SPI, I2C, UART, CAN, GPIO, and other embedded communication interfaces.
  • Experience with edge computing and real-time data processing.
  • TDD/BDD methodologies and hardware simulation/testing environments.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on find.jobs

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

7:40 min

In-vehicle infotainment systems and graphical functional safety validation

Denis Grahovac · WWC 2021

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

8:07 min

Transitioning from web development to constrained hardware engineering

Philipp-Alexander Blum · LIVE

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

Videos

See all

Related articles

See all