> Markdown version of [/jobs/ext/3903892-senior-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/3903892-senior-embedded-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior Embedded Software Engineer - **Company:** ZENOVO LTD - **Location:** Gloucester, UK - **Experience:** Expert - **Salary:** £55,000.0 - £65,000.0 - **Contract:** Permanent contract - **Skills:** Testing (Software), Automation of Tests, C++ (Programming Language), Code Review, Communications Protocols, Computer Programming, Software Debugging, Embedded C, Embedded Software, Firmware, Hardware Design, Software Architecture, Real-Time Operating Systems, Software Tools, Software Construction, Software Engineering, Software Requirements Analysis, Verification and Validation (Software), System Programming, Systems Integration, Universal Asynchronous Receiver/Transmitter, PIC Microcontroller, Reliability of Systems, Git, Software Version Control - **Published:** October 24, 2026 - **Apply:** https://find.jobs/jobs-near-me/apply/ats-redirect/?id=3033400539-2 ## About the Role The role covers the full embedded software development lifecycle, from software architecture and firmware development through to hardware integration, prototyping, testing, validation, deployment, and ongoing product support. The ideal candidate will have at least 2 years of commercial experience in embedded software development, with strong C/C++ programming skills and the ability to collaborate effectively within an engineering team. They will contribute to the development of robust, reliable, and maintainable embedded software for systems operating in safety-critical and performance-driven environments., * Strong proficiency in embedded C/C++ and experience developing software for microcontrollers and embedded platforms. * Proven experience in low-level programming, peripheral configuration and hardware interfacing. * Experience with embedded communication protocols, including CAN, UART, SPI and I C, and an understanding of RTOS concepts. * Practical experience in firmware debugging, software testing, hardware-software integration, fault finding and root-cause analysis. * Familiarity with software development tools and workflows, including IDEs, debugging tools, Git, automated testing, verification and validation. * Experience in battery management systems, energy storage, power electronics, EV charging, automotive or embedded control applications is advantageous. * Strong problem-solving, communication and teamwork skills, with the ability to interpret technical documentation and collaborate across multidisciplinary engineering teams. ## Description * Design, develop and maintain embedded software and firmware for energy storage systems and battery technology applications. * Develop C/C++ software for microcontrollers, including low-level drivers, system control, monitoring and battery charging functions. * Contribute to software architecture and design, translating system requirements into robust, scalable and maintainable solutions. * Implement and integrate communication interfaces and protocols, including CAN, UART, SPI and I C. * Support software integration with electronic hardware, battery management systems & sensors * Perform software testing, debugging, verification and validation to ensure system reliability, safety and performance. * Follow software engineering best practices, including code reviews, version control, automated testing and technical documentation. * Work collaboratively with multidisciplinary engineering teams to support prototyping, product development, production, deployment and continuous improvement.