Compare your current skills to what this opportunity needs—we'll show you what you already have and what could strengthen your application.
Job Description
Senior Embedded Software Engineer (C/C++) Werfen vision insurance, sick time, 401(k) United States, Massachusetts, Bedford 180 Hartwell Road (Show on map) Jun 10, 2026
Job Information
Number
ICIMS-2026-10436
Job function
R D
Job type
Full-time
Location
Werfen - Bedford - 180 Hartwell Road Bedford, Massachusetts 01730 United States
Country
United States
Shift
1st About the Position
Introduction Werfen 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.
Overview Position Summary:
We are seeking a Senior Embedded Software Engineer with deep expertise in motion control systems, real-time embedded software, and low-level firmware development. This role focuses on designing, developing, and optimizing firmware for microcontroller-based systems that interface with motors, sensors, and real-time peripherals. The ideal candidate works comfortably at the boundary of hardware and software and has strong hands-on debugging skills.
Design, develop, and maintain embedded firmware for motion control systems using microcontrollers
Develop software on bare-metal and RTOS-based systems with strict real-time constraints
Implement and optimize stepper motor control, sensor interfaces, and deterministic control loops
Design and implement low-level drivers, including:
DMA drivers
Interrupt service routines (ISRs)
Timer, GPIO, and peripheral drivers
Architect and debug RTOS-based systems, including task scheduling, synchronization, memory usage, and ISR interactions
Collaborate closely with hardware engineers to:
Read and interpret schematics and datasheets
Perform hardware bring-up and board-level debugging
Interface with and debug embedded peripherals such as:
SPI, IC, CAN
bus, UART, PWM, GPIO
Apply strong knowledge of computer architecture, including:
CPU pipelines, cache behavior, memory hierarchies
Microcontroller buses and peripheral architectures
Perform advanced debugging using:
JTAG-based debuggers
Oscilloscopes
Logic analyzers
Function generators
Optimize firmware for performance, reliability, and real-time determinism
Create and maintain technical documentation, including design descriptions and test procedures
Mentor junior engineers and participate in technical design and code reviews
Preferred Skills:
Experience with popular RTOS platforms (e.g., ThreadX)
Experience with motor control algorithms such as microstepping or closed-loop control
Experience with hardware bring-up and production firmware
Development experience in regulated industries, including FDA-regulated medical devices, with exposure to design controls and verification/validation practices
Knowledge of safetycritical, real-time, or high-reliability systems
Awareness of EMC/EMI considerations in embedded designs
Extensive experience developing software for embedded microcontrollers
Strong hands-on experience with Real-Time Operating Systems (RTOS), including task design, scheduling, synchronization primitives, and interrupt handling
Proven experience designing and implementing:
DMA-based data transfers
Interrupt-driven software architectures
Solid understanding of computer architecture, including cache, memory, and peripheral subsystems
Strong knowledge of embedded communication protocols:
SPI, IC, CAN
bus, UART
Ability to read and interpret hardware schematics
Proven experience debugging embedded systems using JTAG or equivalent on-chip debug interfaces
Proficiency in hardware/software debugging with:
Oscilloscopes
Logic Analyzers
Function Generators
Strong embedded C/C++ programming skills
Excellent problem-solving, debugging, and root-cause analysis skills
Qualifications Minimum Knowledge & Experience Required for the
Position:
Bachelor's Degree plus a minimum 8 years of related experience or Master's Degree plus a minimum 4 years 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 with a personal computer and software packages.
Proficient in computer codes (Assembly, C, C++, Java, C#, etc.) found in the development.