> Markdown version of [/jobs/ext/3745399-embedded-software-engineer-ii](https://www.wearedevelopers.com/jobs/ext/3745399-embedded-software-engineer-ii). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded Software Engineer II - **Company:** Werfen Headquarters - **Location:** Bedford, UK - **Salary:** £90,000.0 - £120,000.0 - **Contract:** Permanent contract - **Skills:** C (Programming Language), Java (Programming Language), C Sharp (Programming Language), C++ (Programming Language), Cyber Security, Embedded Software, Revision Control Systems, Software Verification, Git, Information Technology - **Published:** October 15, 2026 - **Apply:** https://careers-werfen.icims.com/jobs/10975/embedded-software-engineer-ii---(c%2C-c%2B%2B)/job ## About the Role * Experience programming embedded systems using C/C++. * Familiarity with microcontrollers and embedded development environments. * Basic understanding of Real-Time Operating Systems (RTOS). * Familiarity with embedded communication protocols such as SPI, I²C, UART, CAN, and PWM. * Ability to read and interpret electrical schematics and component datasheets. * Experience using debugging tools such as JTAG debuggers, oscilloscopes, or logic analyzers. * Understanding of interrupt-driven software design and embedded system fundamentals. * Strong troubleshooting, problem-solving, and debugging skills. * Good written and verbal communication skills., * Exposure to motion control systems, stepper motors, or sensor-based control applications. * Experience with RTOS platforms such as ThreadX or FreeRTOS. * Experience with hardware bring-up and board-level debugging. * Familiarity with medical devices or other regulated product development environments. * Understanding of software verification and validation practices. * Knowledge of embedded software development lifecycle and version control tools (e.g., Git). * Exposure to EMC/EMI considerations in embedded system design., * Associates Degree plus minimum 4 years of related experience or Bachelor's Degree plus a minimum 2 years of related experience or Master's Degree plus typically 1 year of related experience or waiver based on experience. * Degree should be in a technical discipline such as Chemistry, Math, Physics, Engineering, or Computer Science. * Proficiency in computer code (Assembly, C, C++, Java, C#, etc.) found in product development. ## Description * Performs software development activities including design, implementation, and integration., * Develop and maintain embedded firmware for microcontroller-based motion control systems under the guidance of senior engineers. * Implement software on bare-metal and RTOS-based embedded systems. * Support the development of stepper motor control functions, sensor interfaces, and control algorithms. * Develop and maintain low-level software components, including: + GPIO, timer, and peripheral drivers + Interrupt service routines (ISRs) + Basic DMA implementations * Assist with debugging embedded software and hardware integration issues. * Work closely with hardware engineers to: + Interpret schematics and datasheets + Support board bring-up and hardware validation activities * Develop and test interfaces for embedded peripherals and communication protocols such as SPI, I²C, UART, CAN, and PWM. * Participate in firmware testing, troubleshooting, and root-cause analysis. * Use debugging tools such as JTAG debuggers, oscilloscopes, and logic analyzers to investigate system issues. * Contribute to firmware improvements for reliability, maintainability, and performance. * Create and maintain technical documentation, including code comments, test procedures, and design documentation. * Participate in code reviews and technical discussions.