Job Information
Meta Software Engineer, Server Efficiency in Menlo Park, California
Summary:
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.
Required Skills:
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:
Minimum Qualifications:
Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience.
6+ 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:
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
Public Compensation:
$70.67/hour to $208,000/year + bonus + equity + benefits
Industry: Internet
Equal Opportunity:
Meta is proud to be an Equal Employment Opportunity and Affirmative Action employer. We do not discriminate based upon race, religion, color, national origin, sex (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender, gender identity, gender expression, transgender status, sexual stereotypes, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law. Meta participates in the E-Verify program in certain locations, as required by law. Please note that Meta may leverage artificial intelligence and machine learning technologies in connection with applications for employment.
Meta is committed to providing reasonable accommodations for candidates with disabilities in our recruiting process. If you need any assistance or accommodations due to a disability, please let us know at accommodations-ext@fb.com.