Overview
Design, develop and optimize userspace block devices on Linux, working close to the Linux kernel, io_uring and storage subsystems to build high-performance, reliable and scalable storage solutions.
What you'll do
- Design, develop and maintain UBLK-based userspace block devices on Linux
- Work with the Linux block layer, io_uring and kernel interfaces
- Implement high-performance I/O paths with low latency and high throughput
- Debug and resolve issues across user space and kernel space
- Optimize storage performance, memory usage and CPU utilization
- Collaborate with kernel, platform and application teams on storage architecture
- Write clean, maintainable, well-documented code
- Review code and contribute to design discussions and technical decisions
- Participate in performance benchmarking and regression analysis
- Guide and assist the QA group with creating and executing test cases
- Provide insight into system behaviour by analysing system logs and debugging software
What you'll need
- 8+ years of experience in software development with strong C programming
- Solid experience with Linux internals, including the Linux block device subsystem, io_uring, system calls, memory management and concurrency
- Experience with userspace-kernel interaction (netlink, ioctl, sysfs, etc.)
- Strong debugging skills using tools such as gdb, perf, strace, ftrace and bpf
- Experience working in multithreaded and high-performance environments
- Familiarity with POSIX APIs and low-level I/O mechanisms
- Good understanding of data structures and algorithms
- Hands-on experience with UBLK, SPDK or other storage frameworks
- Development experience in high availability clustering solutions
Nice to have
- Prior experience contributing to the Linux kernel or storage-related open source
- Knowledge of file systems (ext4, xfs, btrfs, etc.)
- Experience with virtualization or container storage (KVM, Docker, Kubernetes CSI)
- Working experience with RDMA, NVMe, NVMe-oF
- Experience in performance tuning on production systems
- Scripting experience (Python, Bash)
- Strong problem-solving and analytical skills
- Ability to work independently on complex system-level problems
- Good communication skills for cross-team collaboration
- Passion for low-level systems and performance engineering
Details
Read the full description and apply on the company’s own careers page.