Software Engineer, Systems ML
Job Description
Meta is seeking a Software Engineer for the Systems ML Engineering team to design and optimize large-scale machine learning infrastructure. The role covers the end-to-end lifecycle of model training and inference pipelines, including hardware-aware performance optimization and production support.
Responsibilities
- Design, build, and optimize large-scale ML training and inference systems, including distributed computing frameworks and hardware-accelerated pipelines
- Develop and maintain high-performance ML infrastructure components in C++ and Python, with emphasis on reliability, scalability, and low-latency execution
- Use profiling, instrumentation, and benchmarking tools to identify and resolve performance bottlenecks across the ML stack
- Architect and evaluate ML system design trade-offs, including memory bandwidth, compute utilization, and I/O throughput
- Partner with research and product teams to translate model requirements into efficient infrastructure solutions
- Write automated tests for expected behaviors, failure modes, and error paths for ML infrastructure components
- Build monitoring and alerting to detect production anomalies and support safe operation of ML systems
- Contribute to staged rollout strategies using feature flagging and experimentation frameworks to deploy ML system changes safely
- Produce accurate technical documentation when introducing new ML infrastructure features or updating existing systems
- Participate in on-call rotations to investigate and mitigate production incidents affecting ML serving systems, and contribute detailed retrospectives
- Provide constructive code review feedback and contribute to engineering programs that improve the health and quality of the ML infrastructure codebase
Requirements
- 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; the degree must be completed prior to joining Meta
- 2+ years of experience in software engineering with a focus on machine learning systems, AI infrastructure, or high-performance computing
- Experience developing or optimizing ML training or inference pipelines using frameworks such as PyTorch, TensorFlow, or equivalent
- Experience with distributed computing architectures and large-scale systems design for ML workloads
- Experience programming in C++ and Python for performance-critical systems
- Experience using profiling and performance analysis tools to identify and resolve bottlenecks in ML or compute-intensive systems
Technologies
- C++
- Python
- PyTorch
- TensorFlow
Preferred Qualifications
- 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 or redesign workflows and drive measurable impact (e.g., efficiency gains, quality improvements)
- Experience with GPU programming using CUDA, ROCm, or equivalent hardware accelerator kernel development
- Experience adhering to and implementing responsible, ethical AI practices (e.g., risk assessment, bias mitigation, quality and accuracy reviews)
- Experience with hardware-software co-design, including numerics optimization and SIMD or vectorization techniques
- Experience optimizing large-scale ranking or recommendation model inference on AI accelerator hardware such as GPUs or TPUs
Role Location and Compensation
Location: Menlo Park, CA (onsite)
Salary: USD 121,992 to 181,000 per year