
Search by job, company or skills
SMTS SOFTWARE DEVELOPMENT ENGINEER
We are seeking a PCIe device developer with expertise in PCIe driver and Linux kernel development. The ideal candidate will work on our DPU and AINIC firmware - low-level system software, enabling hardware functionality, optimizing performance, and ensuring seamless integration between hardware and software layers.
Key Responsibilities:
- Develop PCIe driver/features for our AINIC and DPU product line
- Optimize PCIe driver performance, including power management and low-latency data transfers
- Work with kernel-level programming in Linux including experience with sysfs, procfs, and PCIe Subsystem
- Debug and troubleshoot PCIe bus communication, DMA, interrupts, and memory mapping issues
- Provide support for hot-plug and interrupt mechanisms
- Collaborate with hardware team to understand PCIe components like serdes and bringup in software
Required Skills & Experience:
10-15 years of experience in managing PCIe devices, Linux kernel programming, device driver development, and system software engineering.
Proficiency in C programming for system-level software.
Good understanding of PCIe enumeration, link training, device initialization sequence, configuration space handling, SR-IOV, bare-metal and hypervisor VM architectures
Strong debugging and troubleshooting skills using kernel logs, GDB and other debugging tools.
Experience in hardware bringup, bootloaders, and ARM architecture.
Familiarity with Buildroot, or other embedded Linux systems.
Knowledge of memory management, interrupts, and scheduling in Linux.
Educational Qualifications:
Bachelor's or Master's degree in Computer Science, Electrical/Electronics Engineering, or a related field.
Job ID: 107913033