Senior Software Engineer — File System
Senior engineer building and operating Nasuni’s distributed file system (Strider/CUFS) in high-performance C/C++. Owns storage subsystems, protocols, snapshots, caching, recovery, and Kubernetes-based HA services.
About the job
Responsibilities
- Design, implement, test, and operate major components of Nasuni’s distributed file system and data path infrastructure.
- Write high-performance C/C++ for kernel-adjacent and user-space storage systems.
- Improve file system behavior across snapshots, caching, faulting, eviction, metadata handling, and recovery paths.
- Build and harden NFS, SMB, and S3 access layers with attention to protocol correctness, performance, and operational edge cases.
- Develop highly available storage services using Kubernetes-based patterns for failover, replication, scheduling, stateful workloads, and recovery.
- Contribute to distributed system design involving consistency models, metadata coordination, failure handling, and multi-volume behavior.
- Partner with adjacent engineering teams to deliver software that is observable, upgradeable, testable, and production-ready.
- Lead code reviews, design reviews, incident follow-up, and technical alignment within your areas of ownership.
- Use AI tools for code assistance, test generation, log analysis, debugging, documentation, or workflow automation while validating correctness, security, and performance before adoption.
- Mentor engineers and raise the quality bar for systems design, code quality, testing, and operational readiness.
Requirements
- 7+ years of professional software engineering experience, including significant systems programming experience.
- Strong C or C++ expertise, including memory management, concurrency, debugging, profiling, and performance-sensitive code.
- Hands-on experience designing, building, or operating distributed systems in production.
- Practical understanding of consistency, availability, failure modes, replication, recovery, or distributed metadata.
- Experience with file systems, storage engines, databases, operating systems, kernel-adjacent software, or similar infrastructure.
- Familiarity with at least one protocol or storage interface such as NFS, SMB, S3, POSIX, FUSE, or object storage APIs.
- Ability to own complex technical work from design through production delivery.
- Strong written communication skills for design docs, reviews, remote collaboration, and operational handoffs.
Nice-to-Haves
- Experience with cloud-native storage, object storage backends, or hybrid cloud infrastructure.
- Experience operating stateful services on Kubernetes, including scheduling, resource management, operators, failover, or upgrade patterns.
- Background with HA design, leader election, distributed locking, replication state machines, or recovery workflows.
- Familiarity with Linux kernel internals, VFS, inode structures, POSIX semantics, FUSE, or eBPF.
- Experience with storage benchmarking, workload characterization, structured logging, metrics, tracing, or production debugging.
- Experience using AI-assisted engineering tools for code generation, unit tests, debugging, documentation, log analysis, or workflow automation with appropriate validation.
- Prior ownership of production file system, storage, database, distributed metadata, or protocol-layer components at scale.
- Deep experience with NFSv4, SMBv3, multi-protocol file access, or enterprise storage systems.
- Demonstrated ability to improve reliability, performance, or operability for customer-facing infrastructure.
- Experience mentoring engineers in systems design, concurrency, debugging, testing strategy, and operational excellence.
- Strong AI fluency in engineering workflows, including structured prompting, validation through tests and benchmarks, and sound judgment about when not to use AI-generated output.
Skills
C, C++, Distributed Systems, File Systems, Nfs, Smb, S3, Kubernetes, Linux Kernel, Posix
Similar jobs
Backend Engineering jobsBuild and operate high-throughput blockchain infrastructure, APIs, and platform primitives integrating protocols such as Ethereum and Bitcoin with internal services. Requires 5+ years of software engineering experience, distributed-systems expertise, and hands-on crypto infrastructure experience.
Design, build, and operate Cloudflare’s globally distributed cache and reverse-proxy data plane, improving performance, correctness, and resilience across the edge. Requires at least 4 years of production systems experience and proficiency in a systems or backend language.
Senior backend engineer designing and operating reliable billing and financial systems, APIs, data models, and distributed workflows. The role requires 5+ years of professional software development experience, strong backend expertise, and collaboration across Product, Finance, Operations, and Data.
Senior individual contributor responsible for designing, building, operating, and improving large-scale backend services, APIs, and telemetry pipelines in Go and Python. The role requires production systems ownership, distributed-systems expertise, incident leadership, mentoring, and technical design leadership.
Build and operate backend services, data pipelines, storage, and retrieval systems that provide trusted context to agentic platforms and product applications. The role requires 8+ years of software engineering experience, distributed-systems expertise, cloud infrastructure knowledge, and strong data modeling skills.