About this role
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