Principal Software Engineer
Listed on 2026-10-07
-
Software Development
Software Engineer, Embedded Software Engineer, Embedded Systems/ Firmware/ IoT, C++ Developer
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
Overview
We are seeking a Principal 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.
ResponsibilitiesKey Responsibilities
- 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:
- 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
- Logic analyzers
- 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
Min Knowledge & Experience Required for the Position:
- Bachelor's Degree plus a minimum of 10 years of related experience or Master's Degree plus a minimum of 8 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.
- Ability to administer software engineering tools; configuration management, requirements management, and defect management.
- Ability to operate instrumentation.
- Possesses strong written and oral communications skills.
- Ability to work in a team environment of software developers and testers.
- Proficient in code languages found in product development.
Skills & Capabilities:
- Proficiency with a personal computer and software packages
- Ability to administer software engineering tools; configuration management, requirements management, and defect management
- Ability to operate instrumentation
- Possesses…
(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).