Software Engineer III

DDNPune, MaharashtraOn-siteFull-timeStaff, 8–12 yearsListed 2 hours ago

Apply now

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