Embedded Software Engineer
Role details
Job location
Tech stack
Job description
As Senior Embedded Software Engineer you will play a key role in the design and development of embedded control software for advanced industrial power systems, working within a collaborative multidisciplinary engineering team.
You will work closely with Electrical, Mechanical and Systems Engineers to deliver robust, safe and cost-effective solutions used by global customers.
Key Responsibilities
Translate system and customer requirements into software specifications and acceptance criteria
Design embedded software architecture and interfaces for ARM-based controllers (STM32)
Develop embedded firmware in C/C++ within RTOS environments (FreeRTOS or similar)
Implement industrial communication protocols such as Modbus, CAN and Ethernet
Integrate software with sensors, actuators and industrial control hardware
Perform unit testing, static analysis, code reviews and verification activities
Develop SIL/HIL test environments and support validation activities
Produce clear technical documentation including design specifications and test plans
Work within modern development practices including Git, trunk-based development and semantic versioning
Support manufacturing, commissioning and service teams with technical investigations
Contribute to continuous improvement of development processes and engineering standards
Requirements
Degree in Software Engineering, Computer Engineering, Electrical Engineering or similar
Strong experience developing embedded software in industrial or engineering environments
Strong C/C++ development experience on ARM Cortex microcontrollers (STM32 desirable)
Experience working with RTOS concepts (task scheduling, synchronisation, debugging)
Knowledge of functional safety or secure coding practices (MISRA, IEC61508 or similar)
Experience with unit testing, static analysis and code quality tools
Experience implementing industrial communications (Modbus, CAN, TCP/IP, Serial)
Experience working with hardware-software integration
- Experience working with any of the following would be beneficial:
-Critical power or energy infrastructure systems
-Industrial automation or control systems
-Electrical test or commissioning environments
-Generator or power distribution equipment
-Industrial electronics or control panels
-Data centre or mission-critical infrastructure
-Safety-critical or high-reliability embedded systems
-Python or MATLAB experience for automation or test development would also be advantageous.
Stable, established engineering business with strong technical reputation - Base + Benefits., Job Description Embedded Software Engineer - Join a Team Building Cutting-Edge Tech Hybrid | 3 days onsite each week (non-negotiable) Are you an Embedded Software Engineer who loves getting deep into the kernel, bringing systems to life, and solving complex...