Senior / Lead Embedded Software Engineer
Requirements
Requires a degree in a relevant engineering or science field and strong commercial experience in embedded C development for microcontroller-based systems. Lead candidates must also demonstrate significant experience in system architecture and technical mentorship.
Job Description
Senior / Lead Embedded Software Engineer (C)
Salary range from £48,000 to £65,000 depending on experience
About the Role
We have opportunities for ambitious Embedded Software Engineers at Senior and Lead level to join our multidisciplinary engineering team at the forefront of additive manufacturing technology.
Our embedded software platforms are central to the control, sensing, communication, monitoring and real-time processing capabilities of our next-generation products. Working within Research & Development, you will contribute to the full product lifecycle, from concept and architecture through verification, release to production, and long-term support.
These are hands-on engineering roles, combining embedded software development, debugging and verification with close collaboration across electronics, FPGA, systems, algorithms and mechanical engineering teams. Depending on experience and grade, you will also provide technical leadership, influence engineering strategy, and mentor developing engineers.
The software frequently interacts with microcontrollers, FPGAs, sensors, communication networks and analogue electronics. As such, a strong appreciation of system-level design and hardware/software interaction is essential.
Key Responsibilities
Embedded Software Development
- Develop embedded software architectures and applications from concept through to production release.
- Design, implement and maintain high-quality C software with a focus on performance, reliability, maintainability and portability.
- Develop low-level drivers, middleware and application-layer software for embedded systems.
- Implement communication interfaces such as SPI, I²C, UART, CAN, Ethernet and industrial communication protocols.
- Optimise software for real-time performance, memory usage and deterministic behaviour.
- Support product sustainment, issue investigation and software improvements throughout the product lifecycle.
- Develop reusable software frameworks and libraries for use across multiple projects and product generations.
Verification & Validation
- Develop robust software verification strategies covering unit, integration and system-level testing.
- Create automated test frameworks and regression test suites.
- Define verification plans, acceptance criteria and coverage objectives.
- Support hardware-in-the-loop, system integration and product validation activities.
- Drive continuous improvement in automated testing, continuous integration and software quality metrics.
- Investigate and resolve complex software and system-level defects.
Systems & Product Development
- Capture, analyse and refine requirements, ensuring clear traceability from customer and system requirements through to implementation and verification.
- Work closely with systems, electronics, FPGA, algorithms and test engineers to deliver integrated solutions.
- Evaluate and implement control, signal processing and embedded algorithms on target hardware platforms.
- Contribute to safety, reliability and compliance activities, including design assurance and audit-ready engineering evidence.
- Produce and maintain high-quality technical documentation, including software architecture specifications, interface definitions, design descriptions and verification reports.
Technical Leadership
- Provide technical leadership for embedded software development activities across projects.
- Drive engineering excellence through design reviews, code reviews, development standards and best practices.
- Support planning, estimation, technical risk management and project delivery.
- Mentor engineers, graduates and apprentices, helping develop both technical capability and engineering judgement.
- Promote reusable software architectures and continuous improvement across tools, methodologies and processes.
Essential Requirements
- Degree in Electronic Engineering, Computer Science, Software Engineering, Physics or a related discipline.
- Strong commercial experience developing embedded software using C.
- Solid understanding of embedded software principles, including:
- Real-time and deterministic systems
- DMA and Interrupt-driven architectures
- Memory management
- State machines
- Communications protocols
- Multi-threaded and event-driven systems
- Experience developing software for microcontroller-based systems.
- Experience debugging software on target hardware using modern debugging tools.
- Understanding of software development lifecycles, version control and testing methodologies.
- Ability to communicate effectively within a multidisciplinary engineering team.
(Additional Requirements for Lead Embedded Software Engineer)
- Significant experience architecting complex embedded software systems.
- Proven ability to lead software development activities through the full product lifecycle.
- Strong understanding of requirements management, design reviews and engineering governance.
- Experience mentoring engineers and providing technical leadership.
- Demonstrated ability to balance technical excellence with delivery objectives.
Desirable Requirements
- Experience with ARM Cortex-M microcontrollers and associated development environments.
- Knowledge of C++, Python or scripting languages used for automation and testing.
- Experience implementing industrial communication protocols such as EtherCAT, Modbus, CANopen or IO-Link.
- Experience with Git, Azure DevOps and CI/CD workflows.
- Familiarity with unit testing frameworks and static analysis tools.
- Understanding of control systems, signal processing and numerical algorithms.
- Knowledge of FPGA-based systems and hardware/software partitioning.
- Experience of high-speed digital electronics, EMC and mixed-signal systems.
- Experience working within regulated or safety-conscious product development environments.
Person Specification
You are a passionate and capable engineer who enjoys solving complex technical challenges and delivering robust, high-quality products.
You combine strong embedded software expertise with a systems-level mindset and are comfortable working across disciplinary boundaries. You communicate clearly, collaborate effectively and take ownership of technical outcomes.
At Senior level, you are a trusted delivery engineer capable of independently owning significant work packages.
At Lead level, you provide technical direction, mentor others and help ensure successful project delivery.
You are naturally curious, pragmatic and quality-focused, with a strong appreciation of how embedded software interacts with electronics, FPGA technology, mechanical systems and user requirements to create reliable, high-performance products.
Education
Skills
About Renishaw
Renishaw is one of the world's leading engineering and scientific technology companies, with expertise in precision measurement and healthcare. The company supplies products and services used in applications as diverse as jet engine and wind turbine manufacture, through to dentistry and brain surgery. It is also a world leader in the field of additive manufacturing (also referred to as 3D printing), where it designs and makes industrial machines which ‘print' parts from metal powder. It is a global business, with over 5,000 employees located in the 36 countries where it has wholly owned subsidiary operations. The majority of R&D work takes place in the UK, with the largest manufacturing sites located in the UK, Ireland and India. For the year ended June 2024 Renishaw recorded sales of £691.3 million of which 95% was due to exports. The company's largest markets are China, USA, Japan and Germany. Renishaw is guided by its purpose: Transforming Tomorrow Together. This means working with its customers to make the products, create the materials, and develop the therapies that are going to be needed for the future.
View company profile →