Software Engineer - Host Networking

Meta·Bellevue, Washington, United States | Menlo Park, California, United States | New York, New York, United States·posted 6d ago · last seen 21m ago

Track this application

Get Started Free

Match score against your CV

Get Started Free

Tailor your resume to this job

Get Started Free

About interviewing at Meta

Recruiter screen, a technical screen (60-minute asynchronous challenge or paired live coding), a short culture-fit questionnaire, then a virtual onsite of about four rounds: fast-paced coding with multiple problems per round, system design scoped to level, a lighter behavioral, and an AI-enabled coding round assessing how you work with a coding assistant.

Read the full Meta interview process →

Description

About

At Meta, we're building and operating one of the world's most dynamic and fast-paced networks, powering our global data centers and supporting advanced technologies like AI, Generative AI, Recommendation engines, and Metaverse. Our network infrastructure teams are responsible for developing, deploying, and operating this complex system, covering the entire network lifecycle from hardware development to operation. We're seeking software engineers to join our teams and help build scalable distributed systems, develop effective solutions to our challenges, and ship them into production. As part of our network engineering teams, you'll have the opportunity to work on advanced switching technology, collaborate with engineers, and contribute to the development of Meta's hyper-scale network infrastructure.

Responsibilities

  • Design, develop, and validate drivers, firmware, and software for network devices, transport stacks, and AI workloads
  • Debug complex system-level issues and lead performance tuning exercises to optimize software stack performance
  • Understand software components from multiple partner teams, lead integration efforts, and drive continued development
  • Develop and automate test suites for CI/CD framework and various components
  • Collaborate with partner teams to integrate software components, align on goals, and participate in oncall rotations
  • Design, develop, and deploy services to manage datacenter network switches and forwarding functions
  • Develop infrastructure to maintain switch state and enable communication between services at scale

Minimum Qualifications

  • Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
  • 7+ years software development experience in industry settings or PhD with 4+ years of experience
  • 3+ years of relevant experience with network devices and products (routers, switches, adapters, or load balancers) and an understanding of network switching/routing protocols in industry settings
  • Proficiency in C/C++ and at least one scripting language (Python/Shell Scripting)
  • Experience with developing and automating test suites
  • Experience collaborating with cross-functional teams (e.g., hardware, firmware, test) to define and deliver technical solutions Working knowledge of transport stack particularly Remote Direct Memory Access (RDMA) and/or RDMA over Converged Ethernet version 2 (RoCEv2)
  • Experience with one of: platform services (program, control, and monitor Optics, Physical Layer (PHY), FPGAs, sensors, fan control, power etc), Board Support Package (BSP), Operating Systems, Kernel, Bootloader, Power Management, Real-Time Operating System (RTOS), Linux
  • Systems programming, TCP/IP, HTTP/HTTPS, SPDY, DNS, and load balancers
  • Qemu, FPGA Emulation environment is a plus
  • Linux Kernel, especially drivers and network stack
  • Parallel computing platforms such as CUDA, ROCm and OpenCL

More engineering roles at Meta