Role Purpose
We are seeking an Embedded & Systems Software Engineer to support the development, maintenance, and evolution of software used within our industrial machinery and control systems.
This role is focused on embedded, close-to-hardware, and engineering-led software, supporting the full lifecycle from development through testing, commissioning, and ongoing improvement. The position is integrated with the wider engineering team and plays a key role in ensuring reliable, well-documented, and supportable systems.
Key Responsibilities
Embedded Software Development
-
Develop, maintain, and support embedded software for industrial machinery and control systems
-
Work with microcontrollers and embedded platforms to implement reliable, real-time behaviour
-
Support firmware updates, enhancements, and fault resolution
Systems Integration & Testing
-
Integrate embedded software with electrical, mechanical, and control system components
-
Support system testing, validation, and commissioning activities
-
Assist with fault diagnosis and root cause analysis on live systems
Engineering Software & Tools
-
Develop internal tools, utilities, or scripts to support engineering, test, and production activities
-
Support flexible software requirements that do not fit standard product development
-
Assist in improving engineering workflows through automation and tooling
Documentation & Standards
-
Produce and maintain clear technical documentation for embedded software and interfaces
-
Support the development and adherence to software and engineering standards
-
Contribute to knowledge capture and continuity across systems
Required Skills & Experience
Essential
-
Proven experience in embedded or systems software development
-
Strong programming skills in C, C++, or similar low-level languages
-
Experience working with microcontrollers and embedded hardware
-
Understanding of real-time systems and hardware constraints
-
Ability to work hands-on with hardware, schematics, and test equipment
-
Strong fault-finding and problem-solving capability
-
Experience of working with source code management tools such as SVN / GIT
Desirable
-
Experience in industrial machinery, automation, or control systems
-
Familiarity with industrial communication protocols (e.g. CAN, Modbus, Ethernet)
-
Exposure to Linux-based embedded systems
-
Experience supporting software across development, testing, and field deployment
-
Experience of working with embedded Real Time Operating Systems such as FreeRTOS
-
Experience of working with microcontrollers from Microchip, ST and NXP
Personal Attributes
-
Practical and methodical approach to engineering problems
-
Comfortable balancing desk-based development with hands-on engineering work
-
Able to adapt to varied and evolving technical challenges
-
Clear and structured communicator within multidisciplinary teams
What We Offer
-
A technically hands-on role working on real industrial machinery
-
Close collaboration with mechanical, electrical, and controls engineers
-
A stable internal engineering position with long-term scope
-
Competitive salary based on experience