jobapplier

Software Development Engineer - Cloud Native Databases

ByteDance

Skills

Required

  • database
  • query processing
  • query optimization
  • transaction management
  • storage management
  • back and restore
  • Storage systems
  • Distributed systems
  • C/C++ / Go / Java
  • Linux shell
  • scripting
  • Python

Preferred

  • software development
  • system or database internals programming
  • software engineering life cycle
  • MySQL / PostgreSQL
  • rocksdb / ETCD / Zookeeper
  • ByteDance’s database development team, where you’ll build and own cutting-edge database products supporting ByteDance’s global infrastructure.
  • 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.

About ByteDance

  • Our diverse portfolio includes relational databases, distributed caches, key-value stores, document databases, graph databases, wide-column stores, search engines, and multi-model databases.
  • We embrace a culture of self-direction, intellectual curiosity, openness, and problem-solving.

Responsibilities

  • 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.
  • 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

  • We are looking for candidates to work in an open, agile, and highly collaborative environment in the following areas:
  • 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

  • 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.