Software Engineer, Server Efficiency

Bellevue, Washington


Employer: Meta
Industry: 
Salary: Competitive
Job type: Full-Time

Our team is responsible for increasing the efficiency of the entire software stack running in our data centers. Our work contributes to one of Meta's top priorities: we save the company billions of dollars in operating expenses every year, ensure that we have the computational resources necessary for our growth, and improve business metrics by advancing system software. We seek software engineers for roles focusing on performance engineering to support the majority of Meta's server-side software. At Meta we have a particular opportunity to optimize software execution, as we have full knowledge of what we run and the data patterns that we see. This guides our design and implementation of data structures, libraries, and performance optimizations to increase efficiency across our varied workloads and allows us to contribute beyond Meta's services through our open-source software. As a member of our team, you will contribute to high-impact efficiency improvements that benefit all of Meta's server developers and users. You'll be working alongside world-class library and compiler experts and collaborate with the open-source community.

Software Engineer, Server Efficiency Responsibilities


  • Develop and optimize C/C++ libraries for Meta services-memory allocation, thread pools and work scheduling, thread synchronization and lockless data structures, highly performant collections, async processing and I/O, RPC, etc.

  • Analyze resource utilization in server applications (CPU, GPU, memory, network, etc.), identify bottlenecks, scope out opportunities for improved resource utilization, and implement improvements, such as modifying core libraries to optimize Meta server workloads, implementing efficiency improvements in production code (e.g., change core data structures), or improving server utilization

  • Work with internal customers and partners to define requirements

  • Reflect requirements in the team roadmap and plan out execution


Minimum Qualifications


  • Currently has, or is in the process of obtaining a Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience. Degree must be completed prior to joining Meta.

  • 2+ years of professional C/C++ experience

  • Knowledge of computer architecture, CPU and memory subsystem, and OS-level resource management

  • Experience using performance-profiling tools and optimizing native applications for execution-time and memory efficiency


Preferred Qualifications


  • Experience implementing and optimizing low-level libraries, such as memory management, threading, data compression, or string processing

  • Knowledge of modern ISAs, such as x86 and ARM

  • Experience hand-tuning code, e.g., with loop optimizations, vectorization, parallelization, HW-architecture-specific optimizations

  • Experience developing operating-system kernels


Start preparing
Learn about how to prepare for your interview with our interview guide, tips, and interactive experiences.
Visit interview prep

Created: 2024-08-27
Reference: 2362805153916924
Country: United States
State: Washington
City: Bellevue
ZIP: 98004


Similar jobs: