Software Engineer

    • Marin City, CA

Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities - we're just getting started.

Come invent the future. At Facebook Reality Labs, software development is vital to turbocharging our scientific explorations and generating viable paths to the consumer products people will use for decades to come - products that will literally give people super powers. If you're a C/C++ tools developer and a high-level scripting master with a love for improving the lives of your fellow software engineers, you'll thrive in our collaborative environment. Join a world-class team of pioneers experimenting with breakthrough technology. Step into the adventure of a lifetime, as we make science fiction real and change the world.

  • Work side by side with researchers, and research software engineers to understand workflows, prioritize solutions, and create and improve systems the team relies on
  • Apply knowledge of relevant research domains along with expert coding skills to platform and framework development projects
  • Build software, tools, infrastructure, documentation, and other systems that enable research scientists to be more effective and efficient
  • Coordinate with a large set of internal infrastructure and tool teams across the lab and across Facebook to evaluate and integrate with existing systems
  • Participate in design reviews and code reviews for the software team
  • Work with unfamiliar hardware at the SDK level to integrate systems together
  • Write clean readable code, debug complex problems that span systems, prioritize work and get things done with a high level of efficiency
  • BS or advanced degree in Computer Science, Computer Engineering, Computer Vision, or related field
  • At least 3 years C/C++ experience, including experience with modern C++ features and principles
  • Experience with C++ concurrency concepts
  • Knowledge of the fundamentals of computer architecture, including CPU data caching, SIMD instruction sets, and compiler code generation
  • At least 3 years experience creating, extending, integrating and maintaining real-time 3D engine systems such as graphics rendering, audio, physics, networking or animation
  • Knowledge of socket based network programming
  • Experience with game engines such as Unreal and Unity
  • Experience with machine learning technologies, such as Torch or TensorFlow
  • Experience with motion and performance capture systems
Facebook is proud to be an Equal 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.Facebook 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

Back to top