As a Senior Software Engineer, youll:
Design and develop distributed file system components to support data management features such as snapshots, replication, tiering, and advanced data reduction algorithms;
Participate in the design, architecture, and implementation of next-generation storage architecture;
Assist in technically managing initial storage implementations including proofs-of-concept;
Diagnose bottlenecks and implement clean and performant solutions to achieve unbeatable performance;
Design algorithms and data structures to make sure customer data is safe and coherent across our solution in a wide variety of failure modes; and
Constantly revisit the architecture, algorithms, and methodologies to improve productivity, reliability, and maintainability.
Mastery of low-level and performant programming in C or C++/ Rust
A thorough understanding of concurrency, inter-process communication, threading models, and synchronization concepts, including significant experience with complex multithreaded software design
Experience identifying, reproducing, and resolving complex software defects, including root cause isolation, tracing through large source codebases, and implementing long-term fixes as well as short-term workarounds
5+ years of hands-on experience with Linux development and debugging, along with a broad knowledge and understanding of Linux internals