Lead Software Engineer
At Facebook Reality Labs (FRL), we are looking for a world-class Lead Software Engineer to drive the development of our next-generation virtual humans software systems. The successful candidate is an exceptional C/C++ programmer with breadth and depth across various aspects of systems architecture and development, and they will lead our software effort to develop and enable cutting-edge systems in close collaboration with the research team.
LEAD SOFTWARE ENGINEER RESPONSIBILITIES
- Manage a small team of system software engineers working on advanced AR/VR research.
- Provide team guidance, regular feedback, education, coaching and mentoring.
- Create career development plans, manage performance, performance reviews.
- Work side by side with researchers, and research software engineers to understand workflows, prioritize solutions, create and improve systems the team relies on, to enable research scientists to be more effective and efficient.
- Drive the software technology team's roadmap and extend systems as needed.
- Analyze and own trade-offs within systems software, collaborating with counterparts in other domains and teams to drive decisions on the intersection of hardware and software, including performance, schedule, and cost.
- Provide technical leadership to drive all phases of software systems development, from an initial "what it needs to do" early definition phase, and on through specification, architecture and production.
- Hands-on execution including the development, debugging, and optimization of systems ranging from one-off prototypes to large, complex systems.
- 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.
- BS or advanced degree in Computer Science, Computer Engineering, Computer Vision or related field.
- 10+ years experience in software development, including modern C++ features, low-level system development, operating systems, and development on various platforms.
- Minimum 3 years experience building and managing teams.
- Experience designing real-time systems in C++ (C++ 17/14/11).
- Knowledge of the fundamentals of computer architecture, including CPU data caching, SIMD instruction sets, and compiler code generation.
- Communication experience and demonstrated experience to cross multi-disciplinary boundaries to drive optimal system solutions.
- Experience with:
- Working with a cross-disciplinary team of researchers, mechanical engineers, electrical engineers, and software engineers.
- Machine learning technologies, such as Torch or TensorFlow.
- Motion and performance capture systems.
- 3D graphics.
- Computer vision.
- Tracking devices, such as Kinect, OptiTrack sensors, IMUs and depth sensors.
Facebook is committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, you may contact us at firstname.lastname@example.org .
RELATED JOB OPENINGS
- Data Capture Supervisor
- Embedded Software Engineer, University Grad, AR/VR
Menlo Park, CA
- Polymer Materials Engineer Intern, AR/VR
Menlo Park, CA
- Research Scientist, Physically-based Simulation and ML for Virtual Humans
- Software Engineer
- Software Engineer, Computer Vision (AR/VR)
Sausalito, CA + 3 More
Facebook is committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, you may contact us at email@example.com . Requests sent to this email address that do not pertain to disability or religious accommodations cannot be answered.
Questions? Check out our FAQs.
Back to top