Facebook Software Engineer, Database Engineering in Menlo Park, California

Intro:

Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities - we're just getting started.

Summary:

Facebook is seeking an experienced Software Engineer to join the Database Engineering team, whose 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 Percona 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.

Required Skills:

  1. Design core software components for database systems

  2. Code using primarily in C++

  3. Interface with other teams to collaborate in transforming the landscape

  4. Conduct design and code reviews

  5. Analyze and improve efficiency, scalability, and stability of various system resources

Minimum Qualifications:

  1. 5+ years software engineering experience or coding experience in C, C++, or Java

  2. 2+ years experience building database software

  3. B.S. Computer Science or related technical field

Preferred Qualifications:

  1. Experience working directly with database systems at scale

  2. M.S. or PhD in Computer Science or related technical field

Industry: Internet

Equal Opportunity: Facebook is proud to be an Equal Opportunity and Affirmative Action employer. We do not discriminate based upon race, religion, color, national origin, sex (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender, gender identity, gender expression, transgender status, sexual stereotypes, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law. If you need assistance or an accommodation due to a disability, you may contact us at accommodations-ext@fb.com or you may call us at +1 650-308-7837.