Meta Reality Labs focuses on building technology to help people connect through Augmented Reality (AR) and Virtual Reality (VR). Our embedded software will enable AR and VR devices where our real and virtual world will mix and match throughout the day. We believe the way to achieve our goals is to look at the entire stack, from custom ASICs and new technologies, firmware, algorithms, OS, to user experiences.As an Embedded Software Engineer, you will architect, design, build and test embedded firmware systems for future AR, VR, or New Technology Teams. In this role, you are expected to participate in the definition of architecture and implementation of designs in both prototype and shipping consumer products as well as demonstrate good development practices and seamless collaboration. Our teams deliver all embedded software from low-level device drivers, to computer vision, to machine learning algorithms.Engineering for Reality Labs device systems spans multiple target classes, requiring deep collaboration across engineering disciplines (electrical, mechanical, algorithms, user experience, silicon architects, and software) and directly impacting user immersion. Our engineers quickly solve problems, generate big ideas, work in new technology areas, drive concepts into prototypes, and envision how those prototypes transition to high-volume consumer products. You will join a world-class team of experts exploring new concepts through rapid prototyping leading to shipping products.
Embedded Software Engineer Responsibilities:
- Lead Firmware Engineering activities and provide technical leadership and guidance to team members
- Analyze, design, develop, and debug firmware for a wide variety of AR and VR consumer devices, including novel sensing and imaging systems, haptic devices, and audio prototypes
- Collaborate closely in a team environment with silicon architects, hardware designers, OS team, and algorithm and model development teams
- Support all phases of hardware development – including early architecture requirements definition for custom silicon, firmware architecture, implementation, simulation, FPGA debug, chip bring up and support systems and software teams on algorithm development on validated systems
- Understand and implement power-management, boot loaders, scheduling, inter-processor communication and firmware/system interfaces on RTOS and/or bare-metal environments
- Experience with embedded software design and programming in C/C++ for development, debugging, testing and performance analysis
- 4+ years of experience in embedded software development
- Experience in understanding hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.
- Experience building software for complex embedded systems or custom SoCs
- Experience partnering and/or collaborating across multiple teams
- B.S. degree in Computer Science or Electrical Engineering or equivalent experience
- Experience with compression, camera and video pipelines, or encoding technologies such as H.264
- Hands-on coding experience with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB
- Experience with wireless and wired communication protocols, TCP/IP, Ethernet, Bluetooth and 802.11
- Experience across topics including computer graphics, computer vision, or machine learning
- Experience with silicon, device manufacturing, and low-power SoCs
- Experience with active power management or power optimizations
- Experience with prototyping or pre-silicon environments (FPGAs, simulation, or emulation)
- Experience with lab instrumentation like oscilloscope, logic/protocol analyzers for debugging embedded systems at HW level
- Experience with embedded DSP, CPU, and GPU architectures
- Experience developing with modern Real Time Operating 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 firstname.lastname@example.org.