IT & Software

Embedded Software Engineer Ii - (C, C++)

Werfen

Bedford · England · United Kingdom

Overview

Position Summary

  • Performs software development activities including design, implementation, and integration.
  • 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.

Responsibilities

Key Responsibilities

  • 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 driversInterrupt service routines (ISRs)Basic DMA implementations
  • Assist with debugging embedded software and hardware integration issues.
  • Work closely with hardware engineers to:Interpret schematics and datasheetsSupport 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.

Preferred Qualifications

  • 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.

Qualifications

Minimum Knowledge & Experience Required for the Position

  • 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.

International Mobility Required

  • No

Travel Requirements

Reference: WJ-766_23703533

Find more on GigBlows

This role is listed on GigBlows for discovery and search. Hiring decisions and applications are handled by the employer or their chosen application system.