Job Description
We’re seeking a Sr. Firmware Engineer with an interest in developing flexible and robust software for robotic systems. As a Firmware Engineer, you will be responsible for developing and maintaining the firmware running on embedded actuator controllers. This includes design, implementation, optimization, and testing of sensor drivers, comms protocols, filters, and real-time feedback control systems. Additionally, you will assist with the development and execution of bring-up processes, system integration, validation, and debugging embedded controller and actuator hardware as it comes online. The embedded actuator controllers are a core component enabling robots, including humanoids and mobile manipulators, to perform useful labor tasks across a variety of different applications.
We are a company committed to creating diverse and inclusive environments where people can bring their full, authentic selves to work every day. We are an equal opportunity/affirmative action employer that believes everyone matters. Qualified candidates will receive consideration for employment regardless of their race, color, ethnicity, religion, sex (including pregnancy), sexual orientation, gender identity and expression, marital status, national origin, ancestry, genetic factors, age, disability, protected veteran status, military or uniformed service member status, or any other status or characteristic protected by applicable laws, regulations, and ordinances. If you need assistance and/or a reasonable accommodation due to a disability during the application or recruiting process, please send a request to HR@insightglobal.com.To learn more about how we collect, keep, and process your private information, please review Insight Global's Workforce Privacy Policy: https://insightglobal.com/workforce-privacy-policy/.
Required Skills & Experience
5+ years of software engineering experience (excluding academic training) developing production-grade embedded software in C/C++
Experienced with C and C++ development for TI or ARM microcontrollers
Experience working with embedded technologies such as:
- Communication protocols (SPI, EtherCAT, Ethernet, UART, CAN, etc.)
- Sensing (incremental and absolute encoders, analog sensors, IMUs)
Experience designing and developing reliable software for embedded devices, edge applications, or robotics with critical, real-time performance requirements
Experience testing, validating, and managing firmware deployments for fielded products
Familiarity with Git / similar version control systems
Nice to Have Skills & Experience
Experience working with embedded technologies such as:
- Motion control, motors (BLDC), motor controllers
- Real-time feedback control, especially implementing and debugging on hardware
Experience with BLDC FOC motor control concepts, Park/Clarke transformations, current control
Experience with industrial control systems, industrial robotics, or process automation
Familiarity with safety critical embedded system design, e.g. ANSI/RIA R15.06
Familiarity with digital signal processing, linear systems, estimation, and/or control theory
Familiarity with collaborating on a team using an Agile process, including participating in sprint planning, design reviews, and code reviews
Familiarity with software testing, profiling, and optimization methodologies and tools
Knowledge of real time operating system concepts and prior experience with an RTOS
Understanding of distributed computing / multi-threaded / multi-process design and debugging concepts
Knowledge of modern C++(14/17) best practices
Benefit packages for this role will start on the 31st day of employment and include medical, dental, and vision insurance, as well as HSA, FSA, and DCFSA account options, and 401k retirement account access with employer matching. Employees in this role are also entitled to paid sick leave and/or other paid time off as provided by applicable law.