Network Platform Embedded Engineer
Upload My Resume
Drop here or click to browse · PDF, DOCX, DOC, RTF, TXT
Requirements
• Expert level knowledge of C or C++ programming; other languages and skills also valuable. • Knowledge of OS internals (process scheduler, memory management, concurrency, synchronization, storage) • Good debugging skills with an ability to work cross-functionally • Good understanding of Linux and/or RTOS fundamentals, Board Support Pkgs, kernel configuration, device driver interfaces, debugging tools etc. • Strong knowledge of communication protocols, from low level (SPI, I2C, UART, CAN) to high level (TCP/UDP) • Experience with bootloaders • Experience with security concepts such as SecureBoot and secure storage • Experience with time synchronization protocols such as NTP and PTP • Experience deploying firmware both remotely and over-the-air • Familiarity with electronics test equipment and hardware debugging (multimeters, oscilloscopes, power supplies, etc)
Responsibilities
• Design, prototype, build, and test production embedded firmware. • Evaluate, implement, test, and optimize applications on Linux and RTOS. • Collaborate across multiple disciplines to deliver quality code, debug complex problems, prioritize and get things done with a high level of efficiency and urgency. • Evaluate, design, and implement both existing and custom communication protocols between devices and between compute modules. • Work with autonomy, hardware engineers, and software throughout the lifecycle of the vehicle - from device bring-up, to software deploy. • Work with test engineers and platform engineers in developing testing frameworks at the unit, integration, and system levels.