Embedded Engineer
Essential Recruitment
Dunstall, United Kingdom
2 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
Senior Compensation
£ 70KJob location
Dunstall, United Kingdom
Tech stack
ARM
Unit Testing
C++
Static Program Analysis
Code Coverage
Communications Protocols
Software Debugging
Ethernet
FreeRTOS
Hardware-In-The-Loop Simulation
Python
Matlab
Modbus
Real-Time Operating Systems
Secure Coding
Software Engineering
Transmission Control Protocol (TCP)
Management of Software Versions
Trunk-based Development
Digital Access Carrier System
GIT
Software Version Control
Job description
- Translate customer and system requirements into software definitions, specifications and acceptance criteria.
- Design software architecture and interfaces for embedded controllers: STM32, FreeRTOS
- Develop, test and integrate control firmware/applications in embedded C/C++ to MIRSA-C:2012, IEC61508 and CERT-C standards.
- Implement communication protocols (e.g., Modbus/TCP, serial comms (RS232/422/485), Ethernet) and integrate with analogue sensors/actuators using ADCs/DACs.
- Create unit testing, static analysis, code coverage, HIL/SIL test benches and perform code peer-reviews to ensure quality and safety.
- Generate design documentation (specifications, diagrams, test plans, release notes)
- Develop in a trunk-based-development fashion following Semantic Versioning control utilizing Git for source control.
- Support manufacturing, commissioning, testing and service teams in diagnosing and resolving issues.
- Contribute to continuous improvement of software development processes, standards, and tooling.
Requirements
- Degree in Software, Computer, Electrical/Control Engineering or equivalent experience.
- Professional experience developing embedded or industrial control software.
- Proficiency in one or more: C/C++ targeting ARM Cortex-M microcontrollers (STM32 preferred) Strong working knowledge of FreeRTOS or equivalent RTOS - task scheduling, inter-task communication, priority management, and real-time debugging.
- Familiarity with MIRSA-C:2012, IEC 61508 functional safety concepts and CERT-C secure coding practices.
- Experience with unit testing frameworks (e.g. Unity/Ceedling), static analysis tooling, and code coverage measurement.
- Proficiency with Git in a trunk-based development workflow using semantic versioning.
- Knowledge of communication protocols (Modbus/TCP, CAN, Ethernet (UDP/TCP)) and integration with industrial sensors with safety considerations for industrial systems.
- Strong problem-solving skills, collaborative mindset and clear technical communication.
- Python or MATLAB experience is desirable for test tooling and automation. Ability to read electrical/mechanical drawings is a plus.
Benefits & conditions
- Sick pay
- Company pension scheme
- Employee discount
- On site parking
- Referral program