Implement firmware for embedded systems ranging from higher level Supervisory System Control, Gatewaying, OTA Update, Telemetry to low level drivers and RTOS
With a focus on firmware, will experience hands-on bringup of products accelerating them through manufacturing to scale
Hands-on hardware bring-up, system debugging and code optimization
Develop, enhance and debug new and existing real-time firmware in C++ and C
Unit testing and software-in-loop testing are as important as developing new firmware
Work with hardware and firmware teams co-designing optimal solutions and schedules
What You’ll Bring
Degree in Computer Engineering, Computer Science, or Electrical Engineering, or equivalent experience
3+ years of professional firmware development experience
Capable of delivering top quality C++ and C code in a real time embedded environment
Significant multithreaded and RTOS experience
Experience with peripheral interfacing (CAN, Ethernet, SPI, I2C, UART) and networking protocols (TCP, IP, UDP). Desired experience with Protobuf and UDS
Desired to have experience implementing firmware for power conversion, thermal controls, battery management, or other highly physical product implementations
Desired to have experience with embedded Linux and Docker
Needs to have a test-driven mentality, where unit testing, validation plans and quality are second nature
Passion for solving challenging problems and ability to break down problems to efficiently get things done