Meta AR/VR Job | Software Engineer – Technical Lead VR Shell Input (Interaction Model)

Job(岗位): Software Engineer – Technical Lead VR Shell Input (Interaction Model)

Type(岗位类型): Engineering

Citys(岗位城市): Bellevue, WA

Date(发布日期): Before 2021-12-14


Facebook is a world leader in the design of virtual and augmented reality systems and is reshaping how people experience entertainment, socialize with others and be productive and collaborative. Our team launched Quest 2 in 2020 – our fastest growing VR headset ever – that has already greatly surpassed the user base of the original Quest. Our platform has a thriving third party development ecosystem with multiple dozens of million revenue VR titles. This position presents a unique opportunity to join a team core to the VR experience as we create the foundation for VR to be the next general computing platform. Come work alongside experts in software, hardware and research to create the technology that makes AR/VR pervasive and universal. The potential of VR to connect the world is immense—and we’re just getting started.

VR Shell Input team’s mission is to create intuitive user interaction and effective text input. Imagine a world where users interact with VR environments and apps as well as they interact with the real world. The interactions are predictable, accurate, smooth and efficient. Users can choose and transition freely and smoothly among the input methods they prefer: controllers, hands, headset, smart phone, mouse and keyboard, etc. Additionally, users feel empowered by effective text input and language support in their daily communications and productivity inside VR.

We are looking for a team technical lead with strong technical expertise in the domain of 3D interactive features, either in games or other interactive 3D software, and someone who is passionate about advancing the boundaries of input in VR. The ideal candidate is an experienced software engineer with a background in building user interfaces, or working with novel input and controls, who flourishes working in an ambiguous technology space. This position will afford you the opportunity to explore the meaning and implementation of future input devices in spatial computing by leading the software arm of an interdisciplinary front-end team (design, user research, software).

You will become part of a full-stack hardware, software, and design team experimenting and productionizing new input devices and technologies in VR, with a heavy focus on end user experience. We want people who can brainstorm big ideas, have great product sense, work in ambiguous technology areas, have an eye for detail, and have an entrepreneurial spirit to make ideas come to life!


Bachelor’s degree or equivalent experience in Computer Science.

10+ years experience developing and shipping user-facing products over several releases.

5+ years of experience with C/C++ programming, including some experience with low-level systems work.

Experience providing technical leadership for complex products.

Collaboration skills.

Experience on adopting new devices capabilities to product.

Knowledge of working with interaction systems (controllers, mouse, keyboard, etc) on PC, console or mobile platform.


Design, implement and launch full stack input systems and features to achieve compelling experiences (e.g. introducing new hand interaction models, integrating new eye tracking technologies, etc.) across core system UI.

Play a critical role in helping to set the direction and goals for the team: operate strategically and tactically.

Lead feature crews of multiple engineers and cross functional partners.

Work closely with the design team and research team to adopt new input technologies and interaction models to our product.

Lead the team to write high-quality, performant, maintainable and testable code.

Coordinate and collaborate smoothly across multiple internal and external cross-disciplinary teams.

Provide mentorship to other engineers.

Additional Requirements(额外要求)

Experience with virtual reality (Rift, VIVE, Gear VR, etc.)

Experience with Android development

Experience with game engines such as Unreal, Unity, or others