Senior Linux Kernel Systems Engineer
Develop and optimize Linux kernel subsystems, storage stacks, and memory systems in performance-critical environments. Diagnose complex issues across application, kernel, and hardware layers and collaborate with upstream open-source communities.
Обязанности
- Develop and optimize Linux kernel subsystems, including block/IO, memory management, device drivers, and storage.
- Profile production workloads and optimize latency, throughput, and resource efficiency.
- Debug multi-layer system problems from application behavior through kernel internals to hardware.
- Contribute patches and participate in upstream kernel and storage community discussions.
- Manage Git patch series, bisect-based debugging, rebasing, and upstream-quality commits.
- Collaborate with hardware, algorithm, and platform teams on reviews and architecture decisions.
- Work independently on complex kernel projects and communicate technical findings clearly.
Требования
- 10+ years of hands-on low-level systems or Linux kernel development, including at least 5 years working directly in kernel space.
- Expertise in at least one major Linux kernel subsystem, such as memory management, the block/IO layer, device drivers, or high-performance networking.
- Hands-on experience with the Linux block layer, NVMe, or storage backends such as SPDK or Ceph/RBD.
- Proficiency in C and working knowledge of C++.
- Experience debugging across the application, kernel, and hardware boundary using tools such as ftrace, perf, eBPF, or hardware-level analysis.
- Experience contributing to or participating in the upstream Linux kernel or storage community.
- Deep Git proficiency, including patch series management, bisecting, rebasing, and review workflows.
- Ability to work independently and collaborate effectively with cross-functional engineering teams.
Будет плюсом
- Experience with virtualization and hypervisor internals, including KVM, IOMMU, or device pass-through.
- Familiarity with RDMA, InfiniBand, DPDK, or RoCE.
- Experience with CXL, DRAM/NVMe tiering, block-layer caching, or cache-tier design.
- AArch64 experience, including SIMD/NEON optimization or ARM virtualization.
- Accepted upstream kernel patches or sustained Linux kernel community engagement.
- B.Sc. or M.Sc. in Computer Science or Electrical Engineering from a research-oriented institution.