ByteDance
ByteDance

Senior Software Development Engineer - Cloud Native Databases

RoleEngineering
LevelSenior
LocationSan Jose, Canada, United States
WorkOn-site
TypeRegular
PostedToday
Apply now

About the role

About the Team:

Join Byte Dance’s database development team, where you’ll build and own cutting-edge database products supporting Byte Dance’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,
  • MySQL/PostgreSQL software development experience is a plus.
  • 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.

Required skills

Software engineering

System design

Troubleshooting

About ByteDance

San Jose

Headquarters