Job Title: C++ Software Engineer (Contractor) – Linux OS
Location: Santa Clara, CA onsite
Long Term Contract
Role Summary
We are seeking an experienced Linux Software Engineer (Contractor) to work on a wafer inspection system, with a primary focus on integrating application software with Linux device drivers.
This role does not involve Linux kernel or device driver development. Instead, the engineer will focus on Linux user-space C/C++ development, improving software architecture, robustness, and maintainability while integrating with existing drivers.
Key Responsibilities
- Review and analyze existing Linux C++ application code flow, architecture, and interaction with Linux device drivers.
- Integrate and maintain application-level interfaces with existing Linux device drivers.
- Understand and reassess legacy assumptions related to driver interaction, sequencing, timing, data flow, and error handling.
- Refactor and enhance user-space C/C++ software to improve clarity, scalability, and long-term maintainability.
- Make design and architectural improvements to existing software components.
- Work on complex issues where system behavior and data require deep technical analysis.
- Ensure designs, code, and unit tests are robust, scalable, and future-proof.
- Debug and resolve issues at the Linux user-space / device-driver interface boundary.
- Collaborate with system, driver, and application teams to validate end-to-end functionality.
- Support integration testing, regression testing, and lab bring-up activities.
Required Technical Skills (Must Have)
- Strong experience with Linux user-space software development.
- Proficiency in C / C++ programming.
- Solid understanding of Linux OS fundamentals (processes, memory, threading, I/O).
- Hands-on experience integrating applications with Linux device drivers.
- Familiarity with user-kernel interaction mechanisms such as:
- ioctl
- mmap
- shared memory
- sysfs
- Strong debugging skills using GDB, logs, and Linux diagnostic tools.
- Experience refactoring legacy code and porting functionality across codebases.