Embedded Software Engineer

Skills
Computer EngineeringProtocolsDebuggingFirmwareFreertosInternet Of ThingsReal-Time Operating Systems
Role

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.