More jobs:
Principal Software Engineer
Job in
Bedford, Middlesex County, Massachusetts, 01730, USA
Listed on 2026-10-07
Listing for:
UNAVAILABLE
Full Time
position Listed on 2026-10-07
Job specializations:
-
Software Development
Software Engineer, Embedded Software Engineer, C++ Developer, Embedded Systems/ Firmware/ IoT
Job Description & How to Apply Below
Position 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:
- 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
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 strong written and oral communications skills
- Ability to work in a team environment of software developers and testers
Travel Requirements:
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(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).
(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).
Search for further Jobs Here:
×