Senior Software Engineer - File SystemEngineering | File System Team | Full-Time | US Boston/Marlborough - Hybrid 3 daysRole OverviewNasuni is looking for a Senior Software Engineer to join our File System team and help build the next generation of Nasuni's storage platform, including core work on Strider and CUFS, Nasuni's distributed file system.
This role is for an engineer who enjoys working deep in the stack: high-performance C/C++, file system semantics, distributed storage, protocol behavior, snapshots, caching, recovery, and Kubernetes-based infrastructure. You will design and deliver production-grade components that directly affect reliability, performance, availability, and customer trust.
This role is not a fit for someone focused primarily on application-layer feature development or someone who has only used distributed systems without designing, debugging, or operating them in production.
Level & Scope DefinitionYou will independently own complex subsystems within the File System team, make technical decisions within your areas of ownership, and lead design discussions for storage and data path components. You will collaborate closely with Platform, Control Plane, CI/CD, QA, and SRE-oriented teams to ensure software is reliable, observable, upgradeable, and supportable in customer environments.
You are expected to balance hands-on execution with technical leadership: writing production code, reviewing designs, mentoring engineers, improving operational quality, and using AI-assisted engineering tools responsibly to accelerate development, debugging, testing, and analysis while validating outputs through strong engineering judgment.
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.
QualificationsMust-Have- 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.
Preferred- 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.
Ideal- 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.
Experience GuidelinesSuccessful candidates typically bring
7-12+ years of total software engineering experience, with
4+ years in systems, storage, distributed infrastructure, databases, operating systems, or performance-sensitive backend engineering. Equivalent experience from storage, cloud infrastructure, databases, networking, distributed systems, or kernel-adjacent engineering will be considered.