This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
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 industry-leading library and compiler experts and collaborate with the open-source community.
Job Responsibility:
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
Requirements:
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
Nice to have:
Experience implementing and optimizing low-level libraries, such as memory management, threading, data compression, or string processing