Embedded Software Engineer (IoT)
ZENOVO LTD
Market Bosworth, UK
about 1 month ago
- Discuss 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.jobsGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
LM
Luis Minvielle
about 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?
about 2 years ago