Embedded Software Engineer

Meta Platforms, Inc.Redmond, WA
27d

About The Position

At Meta, we're building innovative products that make it easier for people to connect with each other and enjoy immersive experiences. Our team of world-class experts is developing and shipping products at the intersection of hardware, software, and content, pushing the future of computing platforms and redefining the way people work, play, and connect. As an Embedded Software Engineer, you'll have the opportunity to design, develop, and optimize embedded firmware systems for our AR, VR, and wearable devices, working on low-level systems software, device drivers, and Core Android OS. You'll collaborate with cross-functional teams to solve complex problems and drive innovation in areas such as computer vision, machine learning, and graphics, helping to shape the future of technology and create new experiences for augmented reality, virtual reality, and social/family products.

Requirements

  • Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
  • 5+ years embedded software development experience in industry settings or PhD with 2+ years of experience
  • 3+ years embedded software development experience in industry settings
  • Experience in firmware development in large-scale C/C++ code base that span across a range of platforms and tools
  • Experience operating in a self-directed environment with multiple stakeholders across multiple teams

Nice To Haves

  • Experience with SoC BSP/Android system level, or modern Real Time Operating Systems
  • Experience with embedded micro-controllers such as ARM Cortex M0/M3/M4 architecture and their boot mechanisms
  • Experience in hardware/software co-design on custom silicon
  • Experience with embedded software/firmware development in computer vision and machine learning domains across stack at system integration level with hardware acceleration
  • Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO, etc., coding and modifying peripheral device drivers, and using peripheral DMA and interrupt controller programming for peripherals

Responsibilities

  • Plan, analyze, design, develop, and debug embedded software/firmware in a wide range of system components, including sensing/imaging, computer vision, and machine leaning systems
  • Debug complex, system-level, multi-component issues that typically span across multiple layers in the system, and between systems (Android, RTOS etc)
  • Bring up new devices and lead debugging that spans multiple hardware and software teams
  • Collaborate in a team environment across multiple engineering disciplines, making the architectural tradeoffs required to rapidly deliver base level software for the devices

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Mid Level

Industry

Broadcasting and Content Providers

Number of Employees

5,001-10,000 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service