Meta is seeking talented engineers to join our teams in building cutting‑edge products that connect billions of people around the world. As a member of our team, you will work on complex technical problems, build new features, and improve existing products across mobile and web platforms. The role involves collaboration with product, design, operations, and infrastructure teams, developing reusable components, optimizing code, leading technical initiatives, architecting scalable systems, resolving performance issues, and taking end‑to‑end ownership of features.
Software Engineer, Machine Learning at Meta
Remote - Multiple locations
More jobs at MetaSalary
USD 70.67 - 208,000/year
Requirements
Education
- Bachelor's degree in Computer Science
- Bachelor's degree in Computer Engineering
- relevant technical field
- equivalent practical experience
Experience
- 6+ years of programming experience in a relevant language
- 3+ years of experience + PhD
- Track record of setting technical direction for a team, driving consensus and successful cross-functional partnerships
- 2+ years of experience in machine learning, recommendation systems, pattern recognition, data mining, artificial intelligence, or a related technical field
Skills
- Experience building maintainable and testable code bases, including API design and unit testing techniques
- Experience building and shipping high quality work and achieving high reliability
- Experience improving quality through thoughtful code reviews, appropriate testing, proper rollout, monitoring, and proactive changes
- Exposure to architectural patterns of large scale software applications
- Experience with scripting languages such as PyTorch, TensorFlow, Python, JavaScript or Hack
- Knowledge developing and debugging in C/C++ and Java
Languages
- English
Responsibilities
- Collaborate with cross-functional teams (product, design, operations, infrastructure) to build innovative application experiences
- Implement custom user interfaces using latest programming techniques and technologies
- Develop reusable software components for interfacing with back-end platforms
- Analyze and optimize code for quality, efficiency, and performance
- Lead complex technical or product efforts and provide technical guidance to peers
- Architect efficient and scalable systems that drive complex applications
- Identify and resolve performance and scalability issues
- Work on a variety of coding languages and technologies
- Establish ownership of components, features, or systems with expert end-to-end understanding
Technologies
C/C++JavaPythonJavaScriptHackPyTorchTensorFlow
See if your resume is ready for this job
See how our AI can optimize your resume and improve your chances for this role.