Embedded Software Engineer
Skills
Computer EngineeringProtocolsDebuggingFirmwareFreertosInternet Of ThingsReal-Time Operating Systems
What the job involves
The main requirements, responsibilities and hiring steps.
Requirements
- Expert level knowledge of C or C++ programming
- Strong knowledge of communication protocols, from low level (SPI, UART, CAN) to high level (TCP/UDP)
- Experience with RTOS environments, especially FreeRTOS/SafeRTOS
- Experience with time synchronization protocols such as NTP and PTP
- Experience with safety critical systems and processes
- Experience deploying firmware to multi-device robots in a power-safe way
- Familiarity with electronics test equipment and hardware debugging (multimeters, oscilloscopes, power supplies, etc)
Nice to have
- Automotive experience
- RTOS experience
- Firmware deployment
- Hardware debugging
- Communication protocols knowledge
- Safety-critical systems experience
- C/C++ expertise
- Electronics equipment familiarity
Day to day
- Design, prototype, build, and test production embedded robotics firmware.
- Evaluate, implement, test, and optimize applications in a real-time operating system environment.
- Work with other teams to take advantage of unique hardware acceleration opportunities.
- Evaluate, design, and implement communication protocols between devices and compute modules.
- Collaborate throughout the vehicle lifecycle.
- Develop testing frameworks and harnesses at various levels.
