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.
Facebook is the world leader in the design of virtual and augmented reality systems. Come work alongside expert engineers and research scientists to create the technology that makes AR and VR pervasive and universal. Join the adventure of a lifetime as we make science fiction real and change the world. The Infrastructure team is the heart, ensuring developers have the right tools, ensuring the Test team has the infrastructure to test, and ensuring we can deliver quality timely releases. As the Lead for the Software/Firmware Infrastructure Team you will use your knowledge of build systems, software and embedded systems, a passion for working on new hardware, and strong technical leadership skills to deliver the infrastructure that enables future products and prototypes.You should be comfortable with working in a computer lab environment, working with a wide variety of hardware devices, working with a team to rapidly deliver reliable, high performance software and firmware. Firmware for AR/VR systems spans multiple target classes, requiring deep collaboration across engineering disciplines (electrical, mechanical, optical, firmware and software) and directly impacting user immersion. We’re looking for people who quickly solve problems, generate big ideas, work in new technology areas, drive concepts into prototypes, and envision how those prototypes scale and transition to high-volume consumer products. In this role, you are expected to participate in the definition of architecture and implementation of build and test systems supporting both prototypes and shipping consumer products as well as demonstrate good development practices and seamless collaboration.
Responsibilities
- Lead infrastructure architecture definition in coordination with cross-functional teams in order to streamline system testing, bring-up, and integration activities.
- End-to-end software/firmware infrastructure enabling development, continuous integration, and release of bits supporting prototypes and products.
- Lead team on approach and ensure functionality, scalability and best practices across a wide range of technologies and areas -- including Build Infrastructure supporting a team of 50+ developers (ranging all the way from FW builds (assembly, and C) to Host applications, including AOSP, and Web services), Continuous Integration (building at scale across different VCS), Continuous Deployment (both development tools and tests), Provisioning and Management of servers and devices under test.
- Build roadmaps and plans to meet prototype and product infrastructure requirements.
- Support all phases of development – including early architecture requirements definition for custom silicon, firmware architecture, implementation, simulation, FPGA debug, chip bring-up and support systems and software teams.
Minimum Qualification
- B.S. degree in Computer Science, Electrical Engineering, or equivalent
- 5+ years of infrastructure experience with at least 1 year related to embedded systems
- Proficient managing build systems (i.e. Make, CMake, Buck, Scons) supporting Linux, MacOS, Windows, RTOS, and AOSP
- Proficiency working with, and low-level understanding of distributed version control systems (Git, Mercurial)
- Proficiency in network topologies and configuration, device provisioning and support
- Proficient with software testing methodologies
- Experience providing clear communications and work well with cross-functional teams
- Demonstrated history in hands-on technical leadership on a project with at least 2 other engineers
Preferred Qualification
- Experience with integration and testing for a complex system
- Experience with low level operating systems, RTOS, UBOOT, or other bare-metal programming
- Experience coding with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB, PCIe
- Experience in real-time processing for computer vision and user interaction tasks, high-compute/throughput systems
- Experience with FPGA and hardware evaluation boards, EDA design tools, and/or ISA simulators
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.