Jobs · Engineering · Massachusetts

Senior Embedded Software Engineer (C/C++)

Werfen · Bedford, MA · 1 wk ago
Engineering$130k–$160k/yrFull-time

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
  • 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
  • Create and maintain technical documentation, including design descriptions and test procedures
  • Mentor junior engineers and participate in technical design and code reviews

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.
  • Experience with popular RTOS platforms (e.g., ThreadX)
  • Experience with motor control algorithms such as microstepping or closed-loop control
  • 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
  • Extensive 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

Pay

The annual base salary range for this role is currently $130,000 to $160,000 range. Individual employee compensation will ultimately depend on factors including education, relevant experience, skillset, knowledge, and particular business needs.

Benefits

  • Medical, dental, and vision insurance
  • 401k plan retirement benefits with an employer match
  • Paid vacation and sick leave

Similar jobs