Minimum Qualifications:
- Bachelor's degree or higher in Computer Science, Computer Engineering, Electrical Engineering or related majors;
- Strong problem analysis, conceptual abstraction and design skills; proficient in C/C++, familiar with at least one of Python / Shell or similar languages;
- Proficient in systems programming, including system calls and library functions, network/multithreaded programming models, debugging, and IO performance tuning tools and techniques;
- In-depth understanding of storage system architectures and principles, such as LSM Tree, file systems (ext4/bluefs), etc.;
- Solid understanding of distributed systems fundamentals, including consensus, replication, consistency models, and fault tolerance;
- Excellent ability to identify and solve problems, good communication skills, team collaboration spirit, and a strong desire to learn new technologies.
Preferred Qualifications:
- PhD 's degree or higher in Computer Science, Computer Engineering, Electrical Engineering or related majors;
- Experience with asynchronous programming models and event-driven architectures, including callbacks, futures/promises, and coroutines;
- Prior development experience in any of the following: large-scale distributed storage / caching / database systems / single-node KV storage engines / single-node file systems;
- Familiarity with one or more common open-source projects such as RocksDB / LevelDB / Redis / Memcached / Cachelib; Prior RocksDB development experience is a plus;
- Prior development experience with storage-compute disaggregation architectures is a plus.