About the Role
About the Role
Meta is looking for a Software Engineer with a systems specialization to help build and scale the foundational infrastructure that powers Meta's family of products and services. In this role, you will design, develop, and maintain systems-level software that operates at massive scale, ensuring reliability, performance, and efficiency across critical infrastructure. You will work closely with cross-functional engineering teams to solve complex systems challenges, from low-level kernel and runtime optimization to distributed systems design, contributing directly to the infrastructure that billions of people depend on every day.
What You'll Do
- Design and implement systems-level software components, including low-level libraries, runtime environments, and infrastructure services that operate at large scale.
- Develop and optimize performance-critical code paths, identifying and resolving bottlenecks across compute, memory, storage, and network layers.
- Write automated tests covering expected behaviors, failure modes, and error paths to ensure reliability of systems software.
- Instrument systems with metrics, logging, and alerting to enable observability and rapid diagnosis of production issues.
- Participate in on-call rotations, investigate production incidents, and contribute detailed retrospectives to prevent recurrence.
- Collaborate with cross-functional partners in product engineering, infrastructure, and data science to define requirements and deliver systems solutions end-to-end.
- Conduct and participate in code reviews to maintain code quality, share knowledge, and identify subtle correctness and performance issues including those introduced by AI-assisted development.
- Manage staged rollouts of systems changes using feature flagging and incremental deployment strategies, monitoring key reliability metrics throughout.
- Contribute to technical documentation for new systems components and updates to existing infrastructure, ensuring clarity for current and future owners.
- Identify and eliminate technical debt by consolidating duplicative implementations, deprecating obsolete code, and modernizing legacy systems components.
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 experience developing systems-level software in C, C++, Rust, or a comparable low-level language.
- Experience with operating systems internals, including process management, memory management, file systems, or networking subsystems in Linux or a comparable UNIX-based environment.
- Experience designing and implementing components within distributed systems, including considerations for fault tolerance, consistency, and scalability.
- Experience writing automated tests, debugging production issues using profiling and tracing tools, and building observability instrumentation for systems software.
- Experience collaborating with cross-functional engineering teams to deliver medium to large software features independently from design through production.
Preferred Qualifications
- Experience contributing to or maintaining open-source systems software projects.
- Experience adhering to and implementing responsible, ethical AI practices (e.g., risk assessment, bias mitigation, quality and accuracy reviews).
- Demonstrated ongoing AI skill development (e.g., prompt/context engineering, agent orchestration) and staying current with emerging AI technologies.
- Demonstrated ability to integrate AI tools to optimize/redesign workflows and drive measurable impact (e.g., efficiency gains, quality improvements).
- Exposure to applying AI-assisted development tools to accelerate systems engineering work, including reviewing and validating generated code for correctness and safety.
Requirements
Systems-level software development
2+ years of experience developing systems-level software in C, C++, Rust, or a comparable low-level language.
Operating systems internals
Experience with process management, memory management, file systems, or networking subsystems in Linux or a comparable UNIX-based environment.
Distributed systems design
Experience designing and implementing components within distributed systems, focusing on fault tolerance, consistency, and scalability.
Automated testing
Experience writing automated tests and debugging production issues using profiling and tracing tools.
Cross-functional collaboration
Experience collaborating with cross-functional engineering teams to deliver software features independently.
Nice to Have
Experience contributing to or maintaining open-source systems software projects.
Experience adhering to and implementing responsible, ethical AI practices.
Demonstrated ongoing AI skill development and staying current with emerging AI technologies.
Ability to integrate AI tools to optimize workflows and drive measurable impact.
Benefits
Health insurance
Comprehensive health insurance plans for employees.
Remote work
Flexible remote work options available.
Learning budget
Annual budget for professional development and learning opportunities.