Software Engineer, Storage

About The Role:

As a member of the storage team, you’ll have the opportunity to design and implement our core blockchain data structure which enables smart contracts to execute efficiently on an account based storage model, optimize the throughput and latency of the blockchain by making superior data architecture and data flow, and build a foundation for a blockchain scaled out to multiple data shards.

What you’ll be doing

  • Design efficient data structures to represent the blockchain.

  • Implement such data structures using Rust on top of key-value or relational databases, with support for multiversion concurrency control (MVCC).

  • Optimize our data model exposed to the Move language to provide flexibility and ergonomics to smart contract developers to match their access pattern of data with proper storage granularity.

  • Design and implement mechanisms that incentivizes smart contract developers and blockchain users to use on-chain storage space efficiently and responsibly, and keeps the cost low as well.

  • Design authentication data structures that can power the collaboration of blockchain data shards or subnets in a trustless manner.

  • Optimize the data flow inside of Aptos nodes to maximize the transaction throughput and minimize the transaction finality latency.

  • Optimize the data architecture inside of Aptos nodes to leverage multiple data engines for different purposes.

What we’re looking for

  • 7+ years of experience as a hands-on software engineer
  • Experience with key-value store and/or relational databases, file systems, caches.

  • Familiarity with data structures like search trees, prefix trees, Merkle Trees, LSM Trees, BTrees, etc.

  • Experience with system performance optimization.

  • Experience with at least one system programming language such as Rust or C/C++.

Listed in: , , , , , , , .