About
Facebook
Job Description
Facebook is seeking an experienced Software Engineer to join the Database Engineering team, who's mission is to engineer the technology storing Facebook's planet-scale user data. We provide manageable, reliable, high QoS database software and services ideal for a wide spectrum of workloads and storage devices, easily accessible from all Facebook products and programming languages. For example, RocksDB has become the de-facto Facebook standard key-value storage engine optimized for flash. Since we open-sourced it, a vibrant community has grown around it. It is used in production at Netflix, Microsoft, Yahoo, Pinterest, Airbnb, and several startups such as CockroachDB and Confluent. We are also leveraging RocksDB in MySQL, the main relational database technology at Facebook. We have converted RocksDB into a pluggable storage engine for MySQL, known as the open-source project MyRocks. Today, the entire Facebook social graph is stored in MyRocks, allowing us great savings in terms of storage space and SSD lifetime for the largest MySQL backend on the planet. The database industry took notice and both MariaDB and are actively working at integrating and supporting this novel write-optimized database technology in their corresponding server offering. To support the next 2-orders-of-magnitude growth in data size and QPS, Core Data is embarking on evolving MySQL and other internal technologies into the next-generation database system. Facebook's unique model of data allows us to dynamically copy or move data between Facebook's OLTP, cache, and search engines while our Social ORM enables federated queries across these structured data stores. Further, our rapidly expanding set of applications requires both vertical and horizontal scaling of database technologies. Unconstrained by the requirements of commercial enterprise software, we have numerous challenges like cost effective multi-region replication, data locality, large virtual databases, parallel query, query optimization, and disaggregated storage. We are looking for candidates who share a passion for tackling complexity and building platforms that can scale through multiple orders of magnitude and enable Facebook databases to be fast and high quality. This position is full-time and is based in our office in Seattle, WA.
RESPONSIBILITIES
* Design core software components for database systems
Code using primarily in C++
Interface with other teams to collaborate in transforming the landscape
Conduct design and code reviews
Analyze and improve efficiency, scalability, and stability of various system resources
MINIMUM QUALIFICATIONS
* 5+ years software engineering experience or coding experience in C, C++, or Java
2+ years experience building database software
B.S. Computer Science or related technical field
PREFERRED QUALIFICATIONS
* Experience working directly with database systems at scale
M.S. or PhD in Computer Science or related technical field
Facebook is committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, you may contact us at accommodations-ext@fb.com.
About Facebook
Facebook is a company providing an online social networking service.