Job Description
Developing and maintaining storage and file system components across client, server, and cloud systems, on both Windows and Linux operating systems. Performance analysis of designs and implementations, taking into consideration the rapid advancements in storage technologies. Ownership of the software engineering process from design, development, code review, validation, delivery, and maintenance. Working as a team member, authoring documentation and tools that improve the team's ability to develop and maintain software, participating in design discussions and code review outside of your immediate scope, and assisting less experienced team members in their personal growth. Building an understanding of the wider storage ecosystem, and bringing that understanding to the table as new features are considered. Bachelor's Degree in Computer Science or related technical field AND 2+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience. These requirements include but are not limited to the following specialized security screenings: 2+ years of experience in systems level software development in C/C++/Rust. 2+ years of Systems Engineering experience with multithreaded programming, synchronization, locking, etc. Knowledge of advanced data structures, including, but not limited to: BTrees, Hash Tables, Skip Lists, LSM Trees, RCU Synchronization. 2+ years of experience with kernel and device driver development in Linux or Windows. Proven experience designing key-value (KV) stores, such as NoSQL databases, Redis, or RocksDB, including support for ACID transactions. Experience with storage/file systems in Windows, Linux, Kubernetes. Experience in analyzing storage performance and functionality. Familiarity with current and emerging storage technologies.