Software Engineer
YugabyteDB, Inc.
11 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
JuniorJob location
Remote
Tech stack
Java
Automation of Tests
Unit Testing
C++
Code Review
Databases
Data Structures
Relational Databases
Distributed Data Store
Distributed Systems
Fault Tolerance
PostgreSQL
Open Source Technology
Regression Testing
Software Engineering
SQL Databases
System Programming
Integration Tests
Information Technology
Job 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
Requirements
- Basic understanding of concurrency, threading, or distributed systems concepts
- Understanding of systems engineering fundamentals, including operating systems, distributed systems, and databases
- Strong fundamentals in data structures, algorithms, and operating systems
- 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
- 1-4 years in software engineering, with a strong foundation in compiled languages such as C/C++
- Strong problem-solving skills and the ability to operate effectively in a collaborative, distributed team environment
- Coursework or hands-on experience in distributed systems or storage systems
- Exposure to databases, SQL, or PostgreSQL (academic or professional)
- Contributions to open source database or systems projects
- Familiarity with PostgreSQL internals or other relational database engines
- Familiarity with concepts such as replication, transactions, or fault tolerance
Benefits & conditions
- 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