Yugabyte is on a mission to become the default transactional database for enterprises building cloud-native applications. The Senior Software Engineer will design, build, and scale foundational components of YugabyteDB’s core database engine, focusing on distributed systems and collaborating with cross-functional teams to ensure high performance and reliability.
Responsibilities:
- Design, develop, test, and deliver core database features across query processing, storage, replication, and transactions in YugabyteDB
- Write high-quality C/C++ code (and other languages as needed) with strong automated test coverage; actively participate in design discussions and code reviews
- Troubleshoot and resolve correctness, stability, and performance issues across:
- Distributed query planning and execution
- Storage and transactional subsystems
- Improve database scalability and throughput as cluster sizes, data volumes, and transaction rates grow
- Identify and implement performance optimizations across the stack, including:
- Query plan optimization, batching, and parallelism
- Storage engine and replication efficiency
- End-to-end latency and throughput improvements
- Build and enhance core operational capabilities
- Contribute to the open-source YugabyteDB project, helping strengthen its distributed SQL capabilities and reliability
- Collaborate closely with cross-functional teams (query, storage, platform, cloud) to deliver cohesive, high-quality features
- Mentor junior engineers and contribute to best practices in distributed systems, database internals, and performance engineering
Requirements:
- 5–8 years of software engineering experience
- Bachelor's or Master's in Computer Science (or related field), or equivalent practical experience
- Strong programming skills in C/C++ (or similar systems language)
- Solid understanding of: Data structures and algorithms, Operating systems fundamentals, Distributed systems basics
- Experience in at least one of: Database internals (query processing, execution engines), Storage systems (LSM trees, WAL, compaction, etc.), Distributed systems (replication, consensus, transactions)
- Strong problem-solving and debugging skills
- Hands-on experience building or working with distributed systems, including distributed storage, transactional engines, or consensus protocols
- Strong understanding of database internals, with familiarity in areas such as: PostgreSQL or other relational database engines, Query processing or storage engine design
- Contributions to open-source systems or database projects are a strong plus