Job Description:
·Keys to this job:
·Program in C and C++
·Linux and BSP environment
Senior System Software Manager
Director, Embedded Software Engineering
What You Will Be Doing ·
Work on embedded platform software in a Linux-based environment·
Write event-driven and asynchronous applications primarily in C and C++·
Write software that communicates with and controls other devices over interfaces including CAN, UART, I2C, SPI and others·
Collaborate cross-functionally with other teams to define specifications, features, and APIs·
Participate in design and code reviews, as well as mentor other members of the team
Requirements ·
BS/MS in Computer Science/Electrical Engineering or equivalent·
Expert level C/C++ coding (preferably in a Linux environment) ·
Demonstrated ability and willingness to make critical system-level design decisions and drive projects from start to finish with minimal supervision·
Ability to break down complex problems and drive towards a solution
Nice to have·
Experience with event loops, asynchronous event-driven architecture and developing scalable and latency-optimized distributed application services·
Experience with networking and network programming·
Good systems level knowledge and excellent debugging skills in a distributed systems environment·
Proficient with modern C++ (14 and 17)·
Proficient with GCC, Make, CMake, git, gdb·
Experience with messaging interfaces such as MQTT, D-Bus, CoAP·
Experience with custom Linux BSPs, board bring-up, device drivers, file systems·
Experience with buildroot, yocto, systemd
Exposure in connectivity architecture using Wireless (Cellular, Wi-Fi, Bluetooth and NFC), and wired (Ethernet) interfaces
Some prior experience with EV / EVSE products is a big plus
Any Graduate