Embedded Software Engineer (IoT)
ZENOVO LTD
Market Bosworth, UK
3 months ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Apply on find.jobs
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
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
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
LM
Luis Minvielle
over 2 years ago
LM
Luis Minvielle
Where to Find Entry-Level Software Engineering Jobs
over 2 years ago
LM
Luis Minvielle
Is Software Engineering Over-Saturated?
over 2 years ago
LM
Luis Minvielle
Where To Find Software Engineering Jobs
over 2 years ago
LM
Luis Minvielle
Why Upskilling And Reskilling is Important For Developers
over 2 years ago
LM
Luis Minvielle
Is Software Engineering Hard?
over 2 years ago