Software Engineer – Linux Networking

About the role

We are hiring engineers of all experience levels across many of our teams. Some of the things our teams work on include:

  • A Linux kernel-based networking dataplane which ingests and forwards traffic from some of the largest networks in the world
  • A userspace networking service which acts as a hub between our Network Services and Zero Trust systems, enabling every customer to access every product
  • Network software running on a hardware appliance that provides zero touch connectivity to the Cloudflare network and SD-WAN functions
  • Next-generation firewall functions implemented across Linux netfilter, eBPF, and userspace packet processing
  • Flow and log collection, correlation, and analytics systems to provide customers with unparalleled visibility into their own networks
  • Control plane systems which allow customers to simply express complex network configurations

As a Software Engineer on our team, you will work across a wide range of technologies and systems to deliver new features, improve performance, and increase the scalability of our Network Services products. You’ll build, deploy, and operate your team’s systems on top of one of the largest edge networks in the world. You’ll partner with some of the best engineers and product managers to solve big problems that have a meaningful impact in the lives of our customers and users.

We’re looking for curious, empathetic engineers who are excited to join us in changing the way networking is done!

Examples of desirable skills, knowledge, and experience

  • Experience building and shipping large-scale, reliable, highly distributed systems
  • Systems-level programming experience, especially in Rust and/or Go
  • Expertise in L2, L3, and/or L4 networking protocols
  • Experience building on top of Linux kernel networking primitives – netfilter, nftables, eBPF, tc, network namespaces, etc
  • Experience designing and integrating RESTful APIs and backend systems
  • Experience with large-scale distributed data pipelines, from data structuring to efficient querying to data analysis
  • Excellent debugging and optimization skills
  • Attention to detail and ability to solve complex customer problems
  • Own solutions end-to-end and driving the design, development, and deployment process
  • Able to work across teams and level common, sustainable solutions
  • Creative, open-minded, collaborative problem solver
  • Focus on clarity in written and verbal communication