Software Engineer Intern - Core Database
United States /
At Yugabyte, we are on a mission to build an open source, high-performance, distributed SQL database for powering global, internet-scale applications.
As a software engineering intern working on the Core Database, you will be responsible for designing and implementing features in the heart of the database. This is logically split into two high level components, the storage engine (DocDB) and the query and language layer (YQL). DocDB is responsible for efficient data storage and retrieval (using our own fork of RocksDB), replication via Raft, and distributed transactions. On top of this layer sits the YQL layer, which is responsible for efficient query parsing, optimization, and planning, as well as database security and visibility. The query layer is also responsible for understanding both SQL and CQL.
We are looking for interns who are highly collaborative, driven and thrive in a fast-paced startup environment, who aren’t afraid to dig into the details of complex distributed systems, and who are excited about building an internet-scale, globally distributed, SQL database.
- You’ll be responsible for end-to-end implementation of a mission-critical project, from design, to implementation, all the way to shipping it to production.
- Collaboration is core to our process -- soliciting input from your peers, especially in the design phase, is how you’ll come up with the best solutions to challenging problems.
- We have regular knowledge sharing sessions and design reviews. One week you may sit in on a presentation about distributed transactions, and the next you may present the new feature you’ve designed or built.
- You’ll have the opportunity to grow your open source presence by contributing to our codebase and our engineering blog.
- We’ll pair you with a mentor who will coach you through maximizing your impact and polishing your engineering skills. Above all else, our goal is to provide you with an exceptional learning experience.
- Currently pursuing a BS or MS in Computer Science or related field.
- Experience with CS fundamentals, algorithms and data structures and software design.
- Experience in Software Development and coding in a general purpose programming language.
Nice to have:
- Working knowledge of C or C++.
- Experience with distributed systems, operating systems, networking, compilers, database design or SQL.
- Experience with concurrency, multithreading and synchronization.