About the Team Join ByteDance’s database development team, where you’ll build and own cutting-edge database products supporting ByteDance’s global infrastructure. Our diverse portfolio includes relational databases, distributed caches, key-value stores, document databases, graph databases, wide-column stores, search engines, and multi-model databases. In this role, you’ll have the opportunity to enhance these services in a cloud-native environment, embracing a culture of intellectual curiosity, self-direction, and problem-solving. We embrace a culture of self-direction, intellectual curiosity, openness, and problem-solving.
We are looking for candidates to work in an open, agile, and highly collaborative environment in the following areas:
- Query Processing, including query execution, query optimization, system catalog, database schema management, etc.
- Distributed Processing, including distributed transactions, distributed lock management, logging/recovery, replication, intra-cluster communication etc.
- Distributed Storage including blob storage, key-value stores such as rocksdb, ETCD or Zookeeper etc.
- Cluster and system management including database scale out, high availability, backup/restore, database monitoring, observability and serviceability frameworks and tools including telemetry collection, performance and crash diagnostics etc.
Responsibilities
- Partner with PMs and engineers from different teams on building backend support for cloud database service products.
- Design and development of core database system functionalities and related tools.
- Conduct performance and scalability tests and research innovative ideas for improvement.
- Design and implement comprehensive unit, functional and system-test for product quality.
- Participate in release and deployment process.
- Debug, conduct root cause analysis, diagnose defects.
- Solve unique, large-scale, highly complex cloud infrastructure problems
- Participate in the team’s on-call rotation to keep services operational and highly available
Requirements
Minimum Qualifications:
- Experience with query processing including execution and query optimization, transaction management, storage management, back and restore,
- Experience building a large-scale high performance database platform.
- Storage systems experience.
- Distributed systems experience.
- Strong C/C++, Go or Java programming skills.
- Knowledge and experience with Linux shell and other scripting languages such as Python etc.
Preferred Qualifications:
- BS or a higher degree in Computer Science, Computer Engineering, or other related fields.
- 3+ years industry experience in system or database internals programming.
- Expertise in software engineering life cycle from previous internship, work experience, coding competitions, or publications.
- Curiosity about new technologies, innovation and entrepreneurship.
- High levels of creativity and quick problem-solving capabilities.
- A results oriented attitude and able to deliver high quality code in a fast-paced, dynamic agile team environment.
- MySQL/PostgreSQL software development experience is a plus.