Requirements
What you’ll do:
- Design, implement, and debug platform-level infrastructure software that will be relied upon by other software team members
- Utilize knowledge in memory management and performance optimization to make design decisions in a resource-constrained application
- Understand and are well-versed in memory management, message queues, message routing, data structures and performance optimization
- Implement general purpose diagnostic, debugging, and fault management frameworks that are testable, abstract and robust
- Develop software and hardware test infrastructure to support safe operation and rapid iteration
- Document software design to aid validation and verification
- Establish software best practices using previous functional safety and team guidelines
- Bridge the gaps between hardware and software, provide advice to the hardware team to bring the best hardware/software abstraction and integration
- You will collaborate with cross-functional teams to define driver requirements and specifications
- Provide technical guidance, mentoring, and support to team members, fostering their professional growth and promoting a collaborative work environment
- Conduct code reviews and ensure adherence to coding standards, best practices, and software quality guidelines.
- Produce well-articulated design documentation to drive alignment within and across teams
What you’ll be working on
Skills to be successful:
- 5+ years of experience with embedded C / C++ programming, and some familiarity with scripting languages like Python.
- Solid understanding of embedded systems and device drivers, with expertise in Linux kernel architecture and device models.
- Familiarity with low-level hardware interfaces, bus protocols (e.g., SPI, I2C, CAN-FD), and protocols (e.g., Ethernet, PCIe)
- Experience with kernel debugging tools, performance profiling, and optimization techniques.
- Strong problem-solving skills and the ability to analyze and debug complex system-level issues.
- Experience with version control systems (e.g., Git)
- Excellent verbal and written communication skills, with the ability to articulate technical concepts to technical and non-technical stakeholders.
Nice to haves:
- Knowledge or expertise energy, fleet management, or EV industry