Careers at Facebook

Software Engineering

Linux Kernel Software Engineer

Místo konáníMenlo Park, CA
Facebook was built to help people connect and share, and over the last decade our tools have played a critical part in changing how people around the world communicate with one another. With over a billion people using the service and more than fifty offices around the globe, a career at Facebook offers countless ways to make an impact in a fast growing organization.
Facebook is seeking a Linux Kernel Software Engineer to join our Kernel team, with a primary focus on the networking subsystem. Our goal over the next few years is for the Linux kernel network stack to rival or exceed that of FreeBSD. The Facebook kernel team is responsible for developing fixes and new features that are primarily driven by internal needs and emerging industry trends. As a member of that team, you will play an integral role in improving kernel stability, performance, observability, and manageability. Additionally, you will help work with the wider Linux community including upstream developers, vendors, and optionally conferences. This position is full-time and located in our Menlo Park office.

Responsibilities

  • Work with other teams to understand network perf/stability issues and develop solutions
  • Improve IPv6 support in the kernel, and eliminate perf and stability issues. FB is one of the worlds largest IPv6 deployments
  • Investigate and participate in emerging protocols (MPTCP, QUIC, etc) discussions,implementation, experimentation, tooling, etc
  • Triage, investigate, and resolve primarily network related performance or stability issues
  • Advocate best practices with other engineers when it comes to kernel usage, deployment, tuning parameters, etc
  • Backport or develop solutions for 1-2 kernel releases. We prefer code being in mainline
  • Help improve our automated testing infrastructure
  • Be a part of the kernel release process, helping it run smoothly
  • Occasionally participate in TPM led projects that are kernel focused
  • Communicate and interact with upstream maintainers
  • Occasional conferences, particularly things like LPC/LS/etc

Requirements

  • At least 5 years of experience working with the Linux kernel
  • Have code already in the Linux kernel
  • Expert level understanding of TCP and UDP networking
  • Deep understanding of the Linux kernel network subsystem
  • Reasonable understanding of the other significant kernel sub-systems (block, fs, crypto, etc) and how they fit together
  • Scripting (python, bash, etc) experience on Linux
  • Expertise programming with C
  • Strong experience using kernel perf tools and modifying tracepoints for resolving perf issues
  • Solid troubleshooting and debugging skills
  • Excellent communications skills
  • BS/MS degree in Computer Science or Engineering (or related field) a plus
EOE Minorities/Females/Protected Veterans/Individuals with a disability.
Použít nyní