: Software Engineer - Routing and Data Path

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

At Facebook Connectivity, we believe that connecting the world is one of the greatest challenges of our generation, and that everyone deserves access to the knowledge, tools and opportunities that come from being connected. This is why we are developing new platforms and solutions for connectivity.The Wireless Platforms and Protocols team is responsible for the operating system, embedded services and firmware for existing and upcoming connectivity boards (Terragraph, Wi-Fi, Cellular). The development includes kernel, drivers, management of peripheral devices, tools to optimize workflows and debugging, and packet switching data plane. The majority of development is in C, C++ and Python.We are looking for a Software Engineer with implementation experience in different layers of the software networking stack such as Layer 2 switching (both physical and virtual such as Linux bridging and VPP), Layer 3 forwarding and Routing (OSPF, BGP), and overlay technologies such as VXLAN, L2GRE and SRv6. Ability to work with the Linux kernel TCPIP stack or user space networking stacks is a must.

Required Skills

  • Design new data path solutions by leveraging a combination of off-the-shelf packet processing technologies and custom code developed in-house.
  • Design and implement routing protocol improvements based on data obtained from trial and production deployments.
  • Debug packet drops and other performance issues to ensure that we have a scalable high performing data path.
Full-time

Employee Testimonials

Edward Fagin (Photo credit: Ryan Mack)
Edward Fagin
Engineering Manager

I'm an engineering manager on our real-time infrastructure team, and my team focuses on GraphQL Subscriptions — a component of the widely-used GraphQL open source query language for APIs — that makes it easier for engineers to build real-time features into their products. At Facebook, this framework powers a number of features that people use every day, including comment-typing indicators and streaming reactions on live videos.

At Facebook, you have the opportunity to contribute to an incredibly wide range of infrastructure projects. While our engineers have a variety of expertise, they share a passion for solving complex engineering challenges at scale. It's humbling to know that everything you work on can potentially impact more than two billion people around the world.

Vaneeta Singh (Photo credit: Ryan Mack)
Vaneeta Singh
Engineering Manager

We develop the network software for Facebook applications on iOS and Android platforms. This includes measuring and improving performance, reliability, security, and efficiency of network communication with Facebook servers. Getting the most out of a diverse set of worldwide mobile networks, and millions of handsets with a wide range of hardware capabilities is challenging as well as fun. All this while we play good citizens in these networks and are mindful of the device battery, storage, and data consumption.