Embedded Software Engineer II C, C++
Listed on 2026-10-17
-
Software Development
Embedded Systems/ Firmware/ IoT, Embedded Software Engineer, C++ Developer, Software Engineer
Werfen - Bedford - 180 Hartwell Road Bedford, Massachusetts 01730 United States
Country
United States
Shift
1st
About the Position IntroductionWerfen
Werfen is a growing, family-owned, innovative company founded in 1966 in Barcelona, Spain. We are a worldwide leader in specialized diagnostics in the areas of Hemostasis, Acute Care Diagnostics, Transfusion, Autoimmunity, and Transplant. Through our Original Equipment Manufacturing (OEM) business line, we research, develop, and manufacture customized assays and biomaterials. We operate directly in 30 countries, and in more than 100 territories through distributors.
Our Headquarters and Technology Centers are located in the US and Europe, and our workforce is more than 7,000 strong.
Our success comes from a specific focus in these rapidly evolving diagnostic areas, our commitment to customers, and our dedication to innovation and quality. We’re passionate about providing healthcare professionals the most valuable and complete solutions to improve hospital efficiency and enhance patient care.
OverviewPosition 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.
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 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.
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.
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:
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).