Lead Systems Software Engineer – Software-Defined Storage
Develop the object storage engine at the foundation of a next-generation software-defined storage platform for AI and cloud infrastructure. Work across storage architecture, implementation, performance, reliability, and production readiness.
Обязанности
- Develop and evolve an object storage engine for AI and cloud infrastructure.
- Design metadata organization, indexing, persistence, lookup, and retrieval mechanisms.
- Implement transactional updates, object lifecycle management, data integrity, recovery, and crash consistency.
- Optimize storage software for flash-aware performance, efficiency, reliability, and scalability.
- Debug complex correctness and performance problems through profiling, tracing, metrics, logs, and targeted fault injection.
- Translate system requirements into designs, implementation plans, performance targets, and validation strategies.
- Collaborate with storage, firmware, hardware, architecture, and validation teams from early development through production readiness.
Требования
- Strong C or C++ development experience in Linux systems software.
- Experience with asynchronous, event-driven, multithreaded, or multicore codebases.
- Background in object storage, storage engines, file systems, databases, key-value stores, block storage, or embedded storage software.
- Practical experience with metadata management, indexing, persistent data structures, caching, or low-latency lookup.
- Understanding of transactional storage, journaling, write ordering, atomicity, idempotency, crash consistency, and recovery.
- Knowledge of storage performance fundamentals, including IOPS, bandwidth, queueing, cache behavior, write amplification, average latency, and tail latency.
- Experience diagnosing correctness and performance issues using traces, profiling, logs, metrics, and fault injection.
- Understanding of NVMe SSD behavior, including allocation, garbage collection, endurance, latency, and media errors.
- Ability to translate system requirements into software designs, implementation plans, measurable targets, and validation strategies.
- Strong technical communication and cross-functional collaboration skills.