Overview
Principal Storage Software Engineer to architect, design and build scalable Block, File and Object storage platforms and database-aware storage running in Kubernetes environments, and to lead technical direction for the storage platform.
What you'll do
- Architect and develop highly scalable block, file, and object storage systems.
- Build database-aware storage optimized for PostgreSQL, relational databases, distributed databases, and other stateful workloads.
- Use AI coding agents to boost productivity, giving them the right context and detailed requirements.
- Design storage data planes and control planes for Kubernetes environments.
- Develop Kubernetes-native storage integrations using CSI, operators, controllers, CRDs, and storage classes.
- Write production-quality systems software in C++, Go, Rust, Java.
- Design for high availability, data durability, fault tolerance, replication, recovery, snapshots, cloning, and disaster recovery.
- Optimize storage for IOPS, throughput, latency, tail latency, CPU efficiency, and network utilization.
- Debug complex problems across databases, Kubernetes, Linux, networking, and storage layers.
- Lead architecture and design reviews and establish technical direction for storage platforms.
- Mentor engineers while remaining deeply hands-on with architecture, design, coding, and troubleshooting.
- Be responsible for the outcome of the domain's work.
What you'll need
- Master's degree or PhD in Computer Science or Computer Engineering.
- 15-18 years of software engineering experience with strong expertise in storage, distributed systems, databases, or infrastructure software.
- Deep knowledge of storage domains: block, file, object, or database storage.
- Strong systems programming skills in C++, Go, Rust, Java.
- Strong understanding of Linux storage and I/O architecture.
- Experience building and operating distributed systems at scale.
- Strong Kubernetes and cloud-native infrastructure experience.
- Understanding of distributed systems concepts including replication, consensus, consistency, failure detection, data placement, and recovery.
- Experience with storage technologies and protocols such as NVMe, NVMe-oF, SCSI/iSCSI, UBD, S3, CSI, io_uring, SPDK, or similar technologies.
- Ability to lead technically while remaining a hands-on engineer who designs, codes, reviews, benchmarks, and debugs production systems.
Details
- Location: Bengaluru, India.
Read the full description and apply on the company’s own careers page.