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.
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
- 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
Requirements:
- 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
- Bachelor's degree in a relevant field or equivalent work experience required
- 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