What are the responsibilities and job description for the Diagnostic Software Engineer (Embedded Software Engineer) position at Recruitment.ai?
Job Title: Diagnostic Software Engineer
Location: San Jose, CA (Onsite)
Candidate Requirements:
- Experience in embedded systems or Linux driver development.
Technical Must-Haves:
- Proficiency in C programming.
- Experience in the development, bring-up, and validation of device drivers and diagnostic tests (specifically Linux drivers).
- Experience in hardware bring-up, debugging, and testing of embedded system devices.
- Working knowledge of bus protocols such as I2C, SPI, UART, and PCIe.
Preferred Skills:
- Knowledge of multitasking operating systems and hardware interface bring-up.
- Strong background in diagnostic software development for routers and switches.
- Proven experience working in cross-functional teams (product design, board bring-up, test/integration, and production).
- Experience troubleshooting software defects from kernel modules to applications.
- Experience with Layer 2/3 network protocols.
- Proficiency in kernel debugging tools such as GDB and KGDB