Examples of fascinating technical challenges in our project are: Designing redundancy mechanisms that will guarantee durability and availability despite hardware failure (which happen constantly at our scale) Searching for bottlenecks in a complex system and making sure to focus optimization efforts on high-impact areas Selecting the best hardware components to match our needs Designing a storage system that will match requirements of hundreds of customers with diverse traffic patterns In depth experience as a backend software engineer with working knowledge of computer science fundamentals: networking, filesystems, security concepts Experience driving complex projects end-to-end, collaborating across teams and leading other engineers Ability to design features and systems, explore trade-offs and discuss choices with the team Experience with thread safety, non-blocking, asynchronous and concurrent programming Experience designing, building, and operating large-scale distributed systems, with a strong grasp of concepts like availability, durability, observability, isolation, and fault tolerance Experience in Rust and Java programming languages Experience with object storage solutions and NoSQL data stores Familiarity with modern data lake architectures and query engines