Software Engineer III
DDN · India · FullTime · On site · 4 days ago
Why a CV for this job?
- They see what they asked for, first. Your experience that matches the ad leads, in the ad's own words, so someone skimming finds it in seconds.
- It gets past the software. Many larger employers use software that ranks CVs by how closely they match the ad, often before anyone reads them.
- In the language of the ad. An ad written in Spanish gets a CV in Spanish, even when yours is in Portuguese.
- Your facts, nothing invented. Your own experience, reordered and reworded. What the ad wants and your CV does not show is listed for you to add, only if it is true. You check it before you send it.
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 subsystemio_uringSystem 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
- Employer
- DDN
- Location
- India · On site
- Contract
- FullTime