Job Summary :
We are looking for a skilled Software Engineer III to design, develop, and optimize userspace block devices on Linux. The role involves working close to the Linux kernel, io_uring, and storage subsystems to build high‑performance, reliable, and scalable storage solutions.
Roles and Responsibilities:
Design, develop, and maintain UBLK-based userspace block devices on Linux
Work with 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, and well-documented code
Review code and contribute to design discussions and technical decisions
Participate in performance benchmarking and regression analysis
Guide and assist QA group with creating & executing the test cases.
Provide insight into the system behaviour by analysing system logs & debugging software
Skills:
· Software development with strong C programming.
Candidate should have 8+years of experience.
· Solid experience with Linux internals
Good understanding of:
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 like:
gdb, perf, strace, ftrace, 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 required.
Prior experience contributing to 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 preferred
Experience in performance tuning on production systems
Scripting experience (Python, Bash) preferred
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