itD is seeking a Diagnostic Software Engineer to design, develop, and validate embedded diagnostic solutions that support system reliability, performance, and hardware-software integration. The ideal candidate will bring deep experience in embedded systems development and low-level programming, along with a proven track record of debugging complex hardware/software interactions and delivering high-quality, production-ready solutions.
Location: Hybrid - 4 days onsite (5 days as needed) in San Jose, CA
Pay Range: $34 - $34.61 (hourly)
We provide comprehensive medical benefits, a 401k plan, paid holidays, and more. Please note that we are only considering direct W2 candidates at this time, as we are unable to offer sponsorship.
Responsibilities:
Develop and maintain embedded diagnostic software for hardware systems and device drivers
Debug and resolve complex issues across hardware and software layers, including kernel and application levels
Validate and test embedded systems to ensure reliability, performance, and compliance with requirements
Collaborate with cross-functional teams to support hardware bring-up and system integration
Implement and support communication protocols such as I2C, SPI, UART, PCIe, and GPIO
Analyze system performance and troubleshoot defects using kernel-level debugging tools
Contribute to continuous improvement of development and validation processes
Internal Responsibilities:
Attend regular internal practice community meetings.
Collaborate with your itD practice team on industry thought leadership.
Complete client case studies and learning material (blogs, media material).
Build out material to contribute to the Digital Transformation practice.
Attend internal itD networking events (in person and virtual).
Work with leadership on career fast-track opportunities.
Required Qualifications and Skills:
Proficient in C programming
Experience with hardware and device driver development, including Linux hardware bring-up
Experience developing, debugging, and validating embedded systems and device drivers
Hands-on experience with protocols such as I2C, SPI, UART, PCIe, and/or GPIO
Preferred Qualifications and Skills:
Experience troubleshooting software defects from kernel modules to applications
Familiarity with Layer 2/3 network protocols
Proficiency with kernel debugging tools such as GDB and KGDB
Education:
Bachelor's degree in a relevant field or equivalent work experience required