Embedded C++ Software Engineer
ZENOVO LTD
Bristol, United Kingdom
2 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Compensation
£ 90KJob location
Bristol, United Kingdom
Tech stack
API
C++
Communications Protocols
Continuous Integration
Software Debugging
Linux
Device Drivers
Embedded C
Embedded Software
Ethernet
Hardware Interface Design
Linux System Administration
Software Architecture
Software Engineering
Universal Asynchronous Receiver/Transmitter
Serial Peripheral Interface
Software Version Control
Job description
- Design, implement, and maintain embedded C++ software for Linux platforms
- Work closely with hardware, systems and design engineers to integrate software with embedded devices
- Debug, test, and optimise software for performance and reliability
- Contribute to software architecture, APIs, and technical documentation
- Support validation, testing, and product release processes
- Collaborate in cross-functional engineering teams to solve complex technical problems
Technologies:
- CI/CD
- Embedded
- Ethernet
- Hardware
- Support
- Linux
- C++, We are looking for a skilled Embedded Software Engineer to develop, maintain, and optimise Embedded C++ software for Linux-based systems. This role will focus on developing Embedded Software for systems and products used in the industrial, aerospace, automotive, and manufacturing sectors. A successful candidate will work closely with cross-functional engineering teams, integrating software with hardware and supporting the full product lifecycle of a next-generation product. The position is based in Bristol, with a flexible requirement of 2 to 3 days per week on-site. We offer a competitive salary of £45,000 - £55,000 plus bonus and benefits, depending on experience.
Requirements
- Strong proficiency in Embedded C++
- Experience with Linux-based embedded systems
- Familiarity with debugging tools, version control, and software development workflows
- Experience with device drivers or low-level hardware interfaces
- Knowledge of communication protocols (SPI, I2C, UART, CAN, Ethernet)
- Familiarity with CI/CD pipelines