Software Engineer, Database - Distributed Storage & Transactions
At Yugabyte, we are on a mission to become the default transactional database for the cloud. We are well underway on this journey with YugabyteDB, the open source, high-performance, distributed SQL database that runs on any cloud and enables developers to get instantly productive using well-known APIs. We are looking for talented and driven people to join us on our ambitious mission and help us build a lasting and impactful company.
We announced a $188M Series C round at a $1.3B valuation in October 2021, however we very much believe we are still in the early stages of our company’s journey. The transactional database market is estimated to grow from $40B in 2021 to $64B by 2025. Given our database is cloud-native by design, has on-demand horizontal scalability, and allows for geographical distribution of data using built-in replication, we are extremely well-positioned to address the market need for geo-distributed, high-scale, high-performance wordloads.
The DST group is responsible for the distributed storage and transaction engine powering the YugabyteDB database. We care deeply about the stability, reliability and performance of the system we are building. We are always looking for innovative solutions to these challenges, be it from other industry applications, academic research or original contributions. Our team’s work powers a broad range of components, across both the data and control paths of YugabyteDB, both of which are distributed in nature. The data path includes a log-structured (LSM) storage engine based on a highly customized version of RocksDB and our implementation of distributed Raft consensus and Spanner-like transactional protocols. The control path covers areas such metadata management, failure detection, automatic sharding, and cluster level balancing, as well as the RPC and networking frameworks that glue everything together.
Role and Responsibilities
- Research, design, implement, test and release new database features and enhancements
- Write high quality C++ code and comprehensive test cases. Participate in the code review process
- Troubleshoot correctness, stability or performance issues in a complex distributed system
- Improve database scalability as we expand cluster sizes and transaction throughput
- Enhance the database administrator experience across environments with different resource constraints (low or high CPU/memory/IO), deployment models (bare-metal, VMs or k8s) and levels of support (enterprise or open source)
- Contribute to the growth of our open source database product, YugabyteDB
- Experience with compiled languages, e.g. C/C++ (preferred), Java, Go, Rust.
- Knowledge of concurrency, multithreading and synchronization is a plus.
- Systems engineering fundamentals (e.g. distributed systems, operating systems, databases) is a plus.
- BS/MS/PhD in CS (or related field) or equivalent experience.
We feel strongly about equal pay for equal work, and transparency in compensation is one way to help achieve that. The cash compensation for this role is market competitive, with a range of $120,000-$250,000, as well as equity (when applicable), and benefits including health plans, retirement plans, and unlimited paid time off (PTO). Some roles also include variable/incentive compensation, or a competitive On Target Earnings (OTE) incentive compensation structure. The pay range for this position is a general guideline only and not a guarantee of compensation or salary. The actual pay will vary based on factors including experience, qualifications, and skill level.
Something looks off?