Senior Embedded Software Engineer (C/C++, Python)
WerfenAbout the role
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.
Responsibilities
Key Accountabilities
Essential Functions:
- 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, I²C, 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 safety‑critical, 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, I²C, 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 plu
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s
Similar roles
Senior Client Manager – Industrial Environmental & Water Services
Woodardcurran
Senior Oncology Account Specialist Breast Cancer New Hampshire and Maine
Pfizer
$250,700/yr
Senior Manager, Global Tools & Performance (Anaplan), Commercial Planning
Johnson Controls