Software Engineer
Posted Updated
Description
- As a Software Engineer on the Core Database Engineering team, you will have an opportunity to work across the SQL layer, query execution, storage, replication, and transactional subsystems of YugabyteDB. You will collaborate with cross-functional engineering teams to solve complex problems, ensuring YugabyteDB remains robust, reliable, and performance at scale
- This role is designed for engineers who are excited about databases, distributed systems, and systems programming, and want hands-on experience building a large-scale, production-grade distributed database
- Write high-quality C/C++ code (and contribute in other languages as needed) with comprehensive automated tests; participate actively in code reviews
- Add unit tests, integration tests, and regression tests to ensure correctness and stability
- Improve database scalability and throughput as cluster sizes and transaction volumes grow
- Contribute to the open source YugabyteDB project and help strengthen our distributed SQL capabilities across releases
- Troubleshoot and resolve correctness, stability, and performance issues in complex distributed query planning and execution paths
- Design, implement, and test features in YugabyteDB under the guidance of senior engineers
- Collaborate with engineers across query, storage, and platform teams
Benefits
- Health Insurance
- Company Stock Options
- Retirement Plans
- Home Office Set-Up Reimbursement
- Professional Development Reimbursement
- Quarterly Wellness Days Off
- Unlimited PTO
- Childcare benefits
- Performance bonuses
- Understanding of systems engineering fundamentals, including operating systems, distributed systems, and databases
- Strong fundamentals in data structures, algorithms, and operating systems
- 1–4 years in software engineering, with a strong foundation in compiled languages such as C/C++
- Basic understanding of concurrency, threading, or distributed systems concepts
- Strong problem-solving skills and the ability to operate effectively in a collaborative, distributed team environment
- Bachelor’s, Master’s, or PhD in Computer Science (or related field), or equivalent practical experience
- Experience programming in C/C++, Java, or similar systems-level languages
- Coursework or hands-on experience in distributed systems or storage systems
- Contributions to open source database or systems projects
- Familiarity with concepts such as replication, transactions, or fault tolerance
- Familiarity with PostgreSQL internals or other relational database engines
- Exposure to databases, SQL, or PostgreSQL (academic or professional)
