{"title": "Embedded Software Engineer, Firmware - Reality Labs", "level": "", "location": "Sunnyvale, CA", "description": "Reality Labs at Meta is building products that make it easier for people to connect with the ones they love most, enjoy top-notch, and wire-free VR.  We are  pushing the future of computing platforms, and we are a team of world-class experts developing and shipping products at the intersection of hardware, software and content.\n\nAs an Embedded Software Engineer on the Reality Labs team at Meta, you can help build new, innovative hardware and software that radically redefine the way people work, play and connect. What we build today could one day be the norm. So to be here today is to truly be at the heart of change and the frontier of what's to come. We're the people helping to define the metaverse. We may not have all the answers. But together, we're getting closer.\n\nAs an Embedded Software Engineer, you will architect, design, build and test embedded firmware systems for future AR, VR, and new platforms. In this role, you will 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.\nEngineering 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.", "salary": "US$177,000/year to US$251,000/year + bonus + equity + benefits", "key_qualifications": "Experience with embedded software design and programming in C/C++ for development, debugging, testing and performance analysis; 6+ years of experience in embedded software development; Experience working with embedded hardware platforms and exposure to concepts such as clock-level issues, interrupts, and polling; Experience building software for embedded systems or custom SoCs; Demonstrated expertise in developing with modern Real Time Operating Systems; Experience leading complex features or projects across multiple teams; B.S. degree in Computer Science or Electrical Engineering or equivalent experience", "preferred_qualifications": "Experience with lab instrumentation such as oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW level; Experience delivering consumer electronics; Demonstrated expertise in one or several of the following areas - communication protocols (TCP/IP, Bluetooth, Wifi), computer vision, camera and video pipelines, graphics pipelines encoding technologies (H.265), power management, or prototyping and pre-silicon environments (FPGAs, simulation, emulation)", "responsibilities": "Lead the design and development of embedded software 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 devices, including novel sensing and imaging systems, haptic devices, and audio prototypes; Be a go-to person to escalate the most complex development, performance and evaluation issues that require in-depth knowledge of product-focused firmware development; Play a critical role in the definition and execution of long-term roadmaps in partnership with with silicon architects, hardware designers, OS team, and algorithm and model development teams; Support all phases of hardware development \u2013 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, computer vision and firmware/system interfaces on RTOS and/or bare-metal environments.", "company": "meta"}