Software Engineer-Network

Employer

Job Description

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.

At Facebook Reality Labs Research, software development turbocharges our scientific explorations and generates viable paths to the consumer products people will use for decades to come. If you're a C++ & low-level system expert with a passion for the future of machine perception on form-factor AR glasses and a love for solving novel problems from first principles, this is a rare opportunity to join AR/VR pioneers. In our collaborative environment, you’ll partner with expert research scientists, hardware engineers and software developers to build groundbreaking prototypes and create the technology that makes AR/VR universal. Step into the adventure of a lifetime as we invent the future and make science fiction real.We are starting a new confidential project within the team that involves building an end-to-end machine perception system that starts from sensor sensing the world all the way to photon landing in users eyes. Such a system requires a foundational layer to be built. You will work on building the platform abstracted low level networking layer for the Time Machine. You will engineer reliable, low latency network replication of client states to the backend. Integrate messaging middleware. Implement latency compensation. Implement fault tolerance. Implement compression and encryption.

Responsibilities
  • Analyze, evaluate, design, develop, integrate, debug and test real-time AR and VR software for advanced research
  • Work side-by-side with research scientists to integrate state-of-the-art algorithms into an end-to-end system
  • Educate researchers and other team members on software engineering best practices, tips and techniques
  • Collaborate in a team environment across multiple scientific and engineering disciplines, making the architectural tradeoffs required to rapidly deliver software solutions
  • Work with unfamiliar hardware to integrate systems together
  • Write clean readable code, debug complex problems that span systems, prioritize ruthlessly and get things done with a high level of efficiency
  • Learn constantly, dive into new areas with unfamiliar technologies, and embrace the ambiguity of AR/VR problem solving
Minimum Qualification
  • BS degree in Computer Science, Electrical Engineering, Math, Physics or related field
  • 10+ years C/C++ experience, including C++11 (and up) features and principles
  • 5+ years experience creating software for games, real-time systems or other high performance environments
  • Expertise in socket programming
  • Expertise in OS/platform networking stack
  • Expertise in TCP/IP, UDP and other network protocols
  • Experience profiling network latency
  • Expertise in data encryption
  • Expertise in network traffic compression
  • Experience shipping one or more real-time software products of high complexity using standard software development tool sets such as source control and continuous integration systems

Preferred Qualification
  • Experience shipping AR/VR applications
  • Experience with 3D mathematics and applied linear algebra
  • Optimization background, including the use of one or more SIMD instruction sets to improve performance
  • Experience in GPGPU development with CUDA, OpenCL or DirectCompute
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 accommodations-ext@fb.com.