Senior Embedded Software EngineerWe 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.Essential Functions:Design, develop, and maintain embedded firmware for motion control systems using microcontrollersDevelop software on bare-metal and RTOS-based systems with strict real-time constraintsImplement and optimize stepper motor control, sensor interfaces, and deterministic control loopsDesign and implement low-level drivers, including:DMA driversInterrupt service routines (ISRs)Timer, GPIO, and peripheral driversArchitect and debug RTOS-based systems, including task scheduling, synchronization, memory usage, and ISR interactionsCollaborate closely with hardware engineers to:Read and interpret schematics and datasheetsPerform hardware bring-up and board-level debuggingInterface with and debug embedded peripherals such as:SPI, I²C, CAN bus, UART, PWM, GPIOApply strong knowledge of computer architecture, including:CPU pipelines, cache behavior, memory hierarchiesMicrocontroller buses and peripheral architecturesPerform advanced debugging using:JTAG-based debuggersOscilloscopesLogic analyzersFunction generatorsOptimize firmware for performance, reliability, and real-time determinismCreate and maintain technical documentation, including design descriptions and test proceduresMentor junior engineers and participate in technical design and code reviewsMinimum 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.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.This role is eligible for medical, dental, and vision insurance, 401k plan retirement benefits with an employer match, as well as paid vacation and sick leave. Our sales roles are eligible for participation in a commission plan and our management, and select professional roles, are eligible for a performance-based bonus.