Role Description We are looking for a technically skilled Linux Kernel Developer to design, develop, debug, and maintain low-level software components within the Linux operating system. The role involves working closely with kernel subsystems, hardware interfaces, device drivers, and system-level components to build reliable, efficient, and secure solutions.
Key responsibilities include developing and maintaining Linux kernel code, analyzing kernel architecture and subsystem behavior, implementing kernel modules and device drivers, troubleshooting system-level issues, and optimizing system performance and resource utilization. The Linux Kernel Developer will collaborate with hardware engineers, firmware developers, system engineers, software developers, and QA teams to support reliable platform integration.
The role also involves investigating kernel crashes, memory issues, concurrency problems, and performance bottlenecks; reviewing source code; preparing technical documentation; and contributing to kernel configuration, testing, and release activities. The successful candidate will help improve system stability, hardware compatibility, performance, and maintainability across Linux-based platforms.
Qualifications
- Bachelor’s degree or equivalent qualification in Computer Science, Computer Engineering, Electrical Engineering, or a related discipline.
- Strong understanding of Linux operating system architecture and kernel fundamentals.
- Proficiency in C programming and familiarity with low-level programming concepts.
- Understanding of Linux kernel subsystems, kernel modules, system calls, processes, threads, and memory management.
- Familiarity with device drivers, interrupts, DMA, I/O operations, and hardware interfaces.
- Understanding of concurrency, synchronization mechanisms, locking, and race-condition handling.
- Familiarity with Linux build systems, kernel configuration, compilation, and debugging tools.
- Knowledge of Git and collaborative software development workflows.
- Familiarity with debugging tools such as GDB, ftrace, perf, dmesg, or similar system-level utilities.
- Understanding of networking, storage, filesystems, or embedded Linux is an advantage.
- Familiarity with ARM, x86, or other processor architectures is an advantage.
- Strong analytical and problem-solving skills with excellent attention to detail.
- Good communication and collaboration skills when working with cross-functional engineering teams.
- Ability to produce clean, reliable, maintainable, and well-documented system-level software.