

Search by job, company or skills

Role Overview:
We are looking for a highly motivated engineer with strong system software fundamentals and hands-on experience in Linux device driver development. The ideal candidate should have solid programming skills in C/C++, a strong understanding of Linux kernel internals, and practical experience debugging complex kernel-level or low-level software issues. You should be comfortable working on Linux kernel modules, device-driver interfaces, memory management, synchronization, interrupt handling, and kernel debugging. Experience in RAID software, storage technologies, firmware, UEFI, or device-driver interaction with hardware is a strong plus.
The candidate should be technically strong, detail-oriented, capable of independent problem solving, and able to collaborate effectively with firmware, hardware, validation, platform, and customer-facing teams.
Key Responsibilities:
- Design, develop, debug, and maintain Linux device drivers and kernel-level software.
- Work on Linux kernel modules, driver interfaces, memory management, synchronization, interrupt handling, and platform enablement.
- Debug and resolve complex issues across Linux kernel drivers, system software, firmware interfaces, and hardware interaction layers.
- Contribute to low-level software development using C/C++ in Linux and system software environments.
- Support integration, validation, debugging, release, and customer issue resolution for platform software components.
- Collaborate with cross-functional teams including firmware, hardware, validation, platform engineering, and customer-facing teams.
- Analyze issues, drive root-cause investigation, implement fixes, and support high-quality product delivery.
- Work with global teams, vendors, and customers to debug platform-level and driver-level issues.
- Contribute to Software RAID, storage, and UEFI-related development activities as needed.
- Support development and maintenance of RAID/storage configuration or management components where applicable.
Mandatory Experience / Required Skills:
- Strong hands-on experience in Linux device driver development.
- Strong programming skills in C/C++ for system software or low-level software development.
- Good understanding of Linux kernel architecture, kernel modules, device-driver model, memory management, synchronization, interrupt handling, and kernel debugging.
- Experience debugging kernel-level issues using Linux debugging tools, logs, traces, crash dumps, or equivalent debugging techniques.
- Good understanding of operating systems, data structures, computer architecture, and low-level software concepts.
- Strong analytical, debugging, and problem-solving skills.
- Ability to work independently, manage multiple priorities, and collaborate effectively across geographically distributed teams.
- Experience using source control and collaborative development tools such as Git.
Nice to Have Experience:
- Experience with Software RAID development, RAID management software, or RAID feature enablement.
- Experience with storage technologies such as SATA, NVMe, SCSI, PCIe storage, block layer, or storage driver stacks.
- Understanding of Linux storage stack, block devices, device mapper, MD RAID, or related storage infrastructure.
- Familiarity with firmware, BIOS/UEFI, pre-OS environments, and OS-driver interaction.
- Experience with UEFI architecture, UEFI drivers, UEFI applications, and related libraries.
- Experience with UEFI HII development for configuration or management interfaces.
- Exposure to Windows device driver development or debugging.
- Experience with Python, Shell scripting, and Linux system development.
- Understanding of x86-64 platform architecture and hardware/software interaction.
- Prior experience working on RAID, storage subsystems, platform firmware, or customer issue debugging.
Academic & Professional Credentials:
- Bachelor's or Master's degree in Engineering, Computer Science, Electronics, or a related field.
- 5+ years of relevant experience in Linux device drivers, system software, kernel-level development, firmware, storage software, or low-level platform software development.
Job ID: 152125875
Skills:
Tcp, UDP, Bash, Kickstart, multicast, Jenkins, Git, Perl, Ansible, Python, Pxe, DevOps methodologies, Linux OS engineering, bare metal provisioning, packet captures, IaC, kernel bypass, CI CD pipelines, code review workflows
Skills:
Embedded Linux, Build Automation, Automated Testing, Jenkins, Git, Docker, Gitlab, Azure DevOps, Artifact management, Yocto Project, DevOps practices, Debugging and troubleshooting embedded Linux systems, Cross-compilation, GitHub Actions, Linux kernel configuration
Skills:
Scripting Bash, Ansible, Automated patching, Enterprise Linux RHEL 8 9 10, Problem-solving, Linux OS internals, Package management DNF, Troubleshooting, Storage fundamentals, Automation using Git-based workflows
Skills:
C Programming, Ipc Mechanisms, Performance Tuning, Debugging, SR-IOV, Yocto Project, PCIe virtualization, Device passthrough, IOMMU, Linux kernel driver development, Virtio framework, DMA isolation, Para-virtualization
Skills:
Git, Configuration management, Ansible, Linux Administration, Infrastructure provisioning, OS lifecycle management, Deployment automation