Sr. Software Development Engineer - Persistence, DynamoDB Storage Engine
Role responsibilities
The role involves owning the on-disk storage layer of the DynamoDB storage engine to ensure data durability and availability at scale. Key tasks include designing optimal on-disk representations, implementing crash recovery mechanisms, and driving long-term storage architecture strategy.
Requirements
Candidates need 5+ years of professional software development experience, specifically with systems code in C or Rust and a deep understanding of storage engine fundamentals. Experience in leading design, architecture, and mentoring other engineers is also required.
Key skills
C, Rust, Storage Engine Design, Write-Ahead Logging, Crash Recovery, LSM Trees, Compression Algorithms, Linux I/O Subsystems, Distributed Systems, Data Integrity Verification, System Architecture, Memory Management, Fault Injection Testing, Direct I/O, Io_uring, Software Development Life Cycle
Keywords
DynamoDB, NoSQL, C, Rust, Storage Engine, Persistence, LSM Tree, Write-Ahead Log, Compression, LZ4, Zstandard, SSD FTL, Linux I/O, Io_uring, AIO, Direct I/O, Fallocate, Jepsen, Distributed Systems, Crash Consistency, Data Durability, AWS, Cloud Computing, Software Engineering, System Design, Scaling, Reliability, Block Devices, File Systems, Data Integrity