Job Description :

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 
  • 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 

 

 

             

Similar Jobs you may be interested in ..