Firmware Engineer
Responsibilities:
- Developing microcontroller software using an RTOS
- Developing firmware build, release, and update infrastructure
- Developing reusable device drivers and communications protocol libraries
- Creating robotics control systems
- Assisting with part selection, board design, and product design efforts
- Creating SITL/HITL test fixtures
- Creating low-level infrastructure to support safety-critical systems
- Integrating model-based development efforts
- Bringing up new boards and toolchains
- Supporting device manufacturing efforts
- Supporting operational robotics deployments
Desired Experience:
- Background in low-level firmware architecture, design and development in C
- Low-level device driver development experience
- Experience in safety critical systems
- Comfortable with typical embedded systems tools, compilers, debuggers and IDEs
- Broad experience with microcontrollers and application processors
- Familiarity with common bus protocols such as USB, MIPI CSI2, SPI, I2C, CAN, RS23, RS485, etc.
- Strong debugging skills through use of instrumentation such as oscilloscopes and protocol analyzers
- Familiarity with revision control systems
- Application experience in areas such as robotics, automation, motor control, and sensor fusion
Qualifications:
- Bachelor's degree in Computer Science, Electrical Engineering, etc., or equivalent experience
- 5+ years of experience, or equivalent skill set