Senior Embedded Software Engineer
Role details
Job location
Tech stack
Job description
An exciting opportunity has arisen for an experienced Senior Embedded Software Engineer to join our clients growing engineering team developing advanced industrial control systems.
In this role, you will design, develop, test, and integrate embedded control software used in high-reliability electrical and industrial equipment. You will collaborate closely with Electrical, Mechanical, and Systems Engineers to deliver robust, safe, and cost-effective solutions for customers worldwide.
This position offers the chance to work on full product lifecycle development, from requirements definition through to deployment and support., * Translate customer and system requirements into software specifications, definitions, and acceptance criteria.
- Design software architecture and interfaces for embedded controllers (STM32, FreeRTOS).
- Develop, test, and integrate embedded firmware and applications using C/C++ in accordance with MISRA-C:2012, IEC 61508, and CERT-C standards.
- Implement and maintain communication protocols, including:
- Modbus/TCP
- Serial communications (RS232 / RS422 / RS485)
- Ethernet (UDP/TCP)
- Integrate firmware with industrial sensors and actuators using ADCs/DACs.
- Develop and maintain test frameworks, including:
- Unit testing
- Static analysis
- Code coverage
- Hardware-in-the-loop (HIL) and Software-in-the-loop (SIL) testing
- Participate in code reviews and quality assurance processes to maintain safety and reliability.
- Produce and maintain technical documentation, including specifications, design diagrams, test plans, and release notes.
- Contribute to trunk-based development workflows, using Git and Semantic Versioning.
- Support manufacturing, commissioning, testing, and service teams in diagnosing and resolving software issues.
- Contribute to the continuous improvement of development processes, tools, and engineering standards.
Requirements
Do you have experience in Unity?, * Degree in Software Engineering, Computer Engineering, Electrical/Control Engineering, or equivalent industry experience.
- Professional experience developing embedded or industrial control software.
- Strong proficiency in C/C++ for ARM Cortex-M microcontrollers (STM32 preferred).
- Solid experience working with FreeRTOS or similar RTOS, including:
- Task scheduling
- Inter-task communication
- Priority management
- Real-time debugging
- Familiarity with MISRA-C:2012, IEC 61508 functional safety principles, and CERT-C secure coding practices.
- Experience using unit testing frameworks (e.g. Unity / Ceedling), static analysis tools, and code coverage tools.
- Experience with Git in a trunk-based development workflow with semantic versioning.
- Understanding of industrial communication protocols and integration with sensors and control systems.
- Strong problem-solving ability, collaborative mindset, and clear technical communication skills.
Desirable Skills
- Experience with Python or MATLAB for test automation or development tooling.
- Ability to read and interpret electrical and mechanical engineering drawings.
- Experience working within safety-critical or industrial environments.
Benefits & conditions
- Competitive salary
- Company pension scheme
- Sick pay
- Employee discount programme
- Referral programme
- On-site parking
#INDPS
Job Types: Full-time, Permanent
Pay: Up to £70,000.00 per year
Benefits:
- Company pension
- Free parking
- On-site parking