Location:
London, UK (Office-based)
Experience:
5+ years
Reports To:
Principal Embedded Engineer
We are looking for a
Senior Embedded Software Engineer (IoT)
to lead development of our connected product platform across ESP32 and STM32 systems. This role combines embedded firmware development with IoT connectivity, cloud integration, OTA updates, cybersecurity, diagnostics, and fleet management for connected consumer products.
You will be responsible for designing and delivering secure, reliable, and maintainable software that enables devices to be remotely monitored, managed, diagnosed, and updated throughout their lifecycle.
Responsibilities
-
Develop embedded software for ESP32, STM32, and similar microcontroller platforms.
-
Design and implement OTA update systems, bootloaders, and firmware validation mechanisms.
-
Develop IoT device telemetry, cloud connectivity, remote diagnostics, and fleet management features.
-
Design communication protocols and interfaces between embedded devices, cloud services, and manufacturing systems.
-
Implement secure communication mechanisms including TLS, certificate management, and device authentication.
-
Design diagnostic, fault reporting, and service interfaces.
-
Develop manufacturing and end-of-line (EOL) test tooling.
-
Apply Secure-by-Design principles throughout the software lifecycle.
-
Champion software quality through coding standards, code reviews, and maintainable architectures.
-
Develop and maintain unit tests, automated test frameworks, and CI/CD pipelines.
-
Support validation, debugging, release activities, and field issue resolution.
-
Collaborate with hardware, cloud, manufacturing, and product teams.
Requirements
-
5+ years of embedded software development experience.
-
Strong modern C/C++ programming skills (C++14/17 preferred).
-
Experience with ESP32, STM32, or similar embedded platforms.
-
Experience developing connected products and IoT devices.
-
Experience with RTOS-based systems (FreeRTOS preferred).
-
Experience with communication protocols including UART, SPI, I2C, CAN, RS485, MQTT, TCP/IP, HTTPS, and TLS.
-
Experience implementing certificate-based authentication and secure device communications.
-
Strong debugging, integration, and root-cause analysis skills.
-
Experience with software architecture, design patterns, and maintainable embedded software development.
-
Experience with software quality processes, coding standards (MISRA, CERT, or equivalent), code reviews, and static analysis tools.
-
Experience with unit testing, automated testing, and CI/CD workflows.
-
Proficiency with Git and modern software development practices.
-
Experience delivering consumer, IoT, or connected products from development through production.
Desirable
-
OTA update systems and bootloader development.
-
Experience with cloud IoT platforms and device fleet management.
-
Experience with LVGL or other embedded GUI frameworks.
-
Secure boot, firmware signing, and device provisioning.
-
Protocol Buffers (Protobuf) and binary serialization protocols.
-
Python scripting and automation.
-
Manufacturing test systems and production tooling.
-
Experience in home appliances, HVAC, white goods, or other consumer appliance products.
Ideal candidate:
A hands-on engineer with experience delivering connected IoT products who can take ownership of embedded software features from architecture through production deployment while driving quality, automation, reliability, security, and maintainability across the product lifecycle.