Performance and Capacity Engineer

Meta Meta · Big Tech · Menlo Park, CA +1 · Remote

Meta is seeking a Performance and Capacity Engineer to optimize and scale their massive infrastructure, handling billions of user requests and petabytes of data. This role involves end-to-end product design, architecture support, performance analysis, bottleneck identification, and capacity planning. The engineer will develop tools for monitoring, run experiments, manage server budgets, and proactively identify capacity-related issues, collaborating with various engineering and operations teams. The role requires a Master's degree and 2 years of experience in analyzing and debugging large-scale infrastructure applications, with proficiency in C++, Java, or C#, Python, and distributed systems concepts.

What you'd actually do

  1. Work with Product Engineering, Infrastructure Engineering, and Data Engineering teams to find the optimal way to scale the infrastructure, which encompasses tens of billions of user requests, hundreds of peta bytes of data, and thousands of giga bps of network flow.
  2. Own end-to-end product design, launch, and operation.
  3. Support architecture design, define networking requirement, and help code build from scratch to support new product launch.
  4. Tackle the state-of-the-art hardware performance issues as well as analyze and debug difficult server performance issues (latest in industry), identify bottlenecks, and optimize product/service performance to improve user experience.
  5. Solve the hardest software performance issues by working with software developers to improve code base performance (e.g. algorithm redesign), and reduce resource consumption and shorten request latency.

Skills

Required

  • Master’s degree (or foreign degree equivalent) in Computer Engineering, Computer Science, Engineering, Applied Sciences, Mathematics, Physics, Software Engineering, or related field
  • 2 years of work experience in the job offered or a related occupation
  • Analyze and debug industry-standard language of C, C++, Java or C#
  • Building large-scale infrastructure applications
  • Designing and completing medium to large features independently without guidance
  • Experience owning a particular component, feature or system
  • Python, PHP, or Haskell
  • Relational databases and SQL
  • Software development tools: Code editors (VIM or Emacs), and revision control systems (Subversion, GIT, or Perforce)
  • Linux, UNIX, or other *nix-like OS as evidenced by file manipulation, advanced commands, and shell scripting
  • Core web technologies: HTML, CSS, or JavaScript
  • Build highly-scalable performant solutions
  • Data processing, programming languages, databases, networking, operating systems, computer graphics, or human-computer interaction
  • Applying algorithms and core computer science concepts to real world systems as evidenced by recognizing and matching patterns from different areas of computer science in production systems distributed systems

Nice to have

  • VIM or Emacs
  • Subversion, GIT, or Perforce

What the JD emphasized

  • tens of billions of user requests
  • hundreds of peta bytes of data
  • thousands of giga bps of network flow
  • state-of-the-art hardware performance issues
  • difficult server performance issues
  • hardest software performance issues