Firmware Engineer

Facebook Redmond , WA 98053

Posted 4 weeks ago

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. You're a Firmware Engineer with deep embedded system knowledge, a passion for working on new hardware and strong technical leadership skills. You're comfortable working with a wide variety of hardware devices, working with a team to rapidly deliver reliable high performance firmware.

At the Facebook AR/VR team, you will design, build and test firmware systems for future Augmented Reality (AR), Virtual Reality (VR), and Mixed Reality (MR) experiences. You will join a world-class team of experts exploring new AR/VR concepts through rapid prototyping. 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 transition to high-volume consumer products. In this role, you are expected to participate in the definition of architecture and implementation of FW/middleware architecture in the research arena, as well as support rapid prototyping efforts led by a team of mixed-discipline researchers and engineers.


  • Analyze, design, develop, and debug firmware for a wide variety of AR and VR devices, including novel sensing and imaging systems, haptic devices, input devices, and audio prototypes

Understand and implement power-management, boot loaders, scheduling, and RTOS

Collaborate in a team environment across multiple , product focused, research, and engineering disciplines, making the architectural tradeoffs required to rapidly deliver firmware solutions

Support custom silicon development on an as-needed basis, including early architecture requirements definition, FPGA/ASIC development, firmware architecture, implementation, simulation, debug, and chip bring up, and provide support to systems and software teams

Understand and drive implementation of FW development "good practices" across teams and projects


  • B.S./M.S. degree in Computer Science or Electrical Engineering or equivalent experience
    5+ years of experience in embedded firmware design

Experience producing production quality, fail-safe firmware for low-power real-time system control

Experience with hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.

Experience implementing firmware for low-power SoC and MCU

Experience with wireless and wired communication protocols, including USB, TCP/IP, Ethernet, Bluetooth and 802.11

Experience with embedded micro-controllers like ARM Cortex M0/M3/M4 architecture and boot mechanism, interrupt priorities and experience with configuring peripherals

Experience analyzing hardware and power consumption

Experience with software design and programming in C/C++ for development, debugging, testing and performance analysis

Experience with device drivers/middleware, and an understanding of the entire HW/firmware/driver/OS/application stack

Experience with Linux/Unix

Experience with instrumentation like oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW level

Experience with support software such as MATLAB, Python, Perl, and Lua

Experience with device documentation and translate that information into software solutions

Experience with methods of designing experiments to diagnose embedded hardware and firmware problems

Experience with cross multi-disciplinary boundaries to drive system solutions

Experience with working independently and managing priorities


  • Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO etc.

Experience with protocol implementations such as USB device classes (UVC, UAC, HID)

Experience with a variety of vendor specific hardware evaluation boards

Experience in real-time processing for user interaction tasks

Experience with embedded Linux distributions

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

icon no score

See how you match
to the job

Find your dream job anywhere
with the LiveCareer app.
Mobile App Icon
Download the
LiveCareer app and find
your dream job anywhere
App Store Icon Google Play Icon

Boost your job search productivity with our
free Chrome Extension!

lc_apply_tool GET EXTENSION

Similar Jobs

Want to see jobs matched to your resume? Upload One Now! Remove
Senior Firmware Development Engineer Passionate CSI / Azure Cloud Server Infrastructure

Microsoft Corporation

Posted 7 days ago

VIEW JOBS 5/16/2019 12:00:00 AM 2019-08-14T00:00 We are seeking a motivated software engineer who is passionate about working in cloud-scale distributed systems spanning hundreds of thousands of nodes. The candidate will work on building and maintaining device firmware and cloud services that monitor and manage health of cloud hardware, take smart actions on hardware health events and improve overall cloud hardware availability and performance. Towards this, the candidate would be skilled in Linux application/kernel programming for designing high quality end to end device firmware stack (uboot, kernel, file system to application stack). The candidate will leverage of open source community (open compute project) and contribute back to the community with useful additions. In addition, the candidate would also work on windows-based device firmware and management software stack and C#/C++ knowledge will be relevant. * PHD in Computer Science or Electrical Engineering or * M.S. in Computer Science with 4 years of development experience including 2 years in artificial intelligence * * Skilled in Linux application/kernel programming with C/python knowledge * Skilled in Windows C# or C++ programming * Good communications skills for understanding what features and for describing findings Microsoft is a highly innovative company that collaborates across disciplines to produce cutting edge cloud technology that changes our world. The Cloud Server Infrastructure (CSI) team in Microsoft's Azure C+E division is responsible for delivering server infrastructure for Microsoft's online services. The hardware for operating these services (over 200 and counting), comprises of hundreds of thousands of servers spread globally and applications that reach hundreds of millions of users every day. Our customer-base is growing rapidly, our infrastructure investments are multiplying, and the size of our global infrastructure is increasing by the day - along with the scale of our challenges. Learn more about our team and projects here Azure Hardware Infrastructure CSIL Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. These requirements include, but are not limited to the following specialized security screenings: Microsoft Cloud Background Check: This position will be required to pass the Microsoft Cloud Background Check upon hire/transfer and every two years thereafter. Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form. Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work. * Develop and maintain end to end linux software stack (web services, low level communication interface such as gpio, uart, i2c, spi etc., kernel driver/config, uboot/bootloaders, device tree manipulations) * Develop/manage code base mostly in C/Python * Develop/manage windows-based service stack (C#) Microsoft Corporation Redmond WA

Firmware Engineer