Embedded Software Engineer at Meta
Taipei, , Taiwan -
Full Time


Start Date

Immediate

Expiry Date

05 Jan, 26

Salary

0.0

Posted On

07 Oct, 25

Experience

2 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

No

Skills

Embedded Systems, Device Driver Development, Operating Systems, C/C++, Hardware Bring Up, Power Management, Linux, Graphics Drivers, Debugging, Performance Tuning, Cross-Functional Collaboration, SoC Solutions, Memory Management, I/O Systems, Security, Resource Allocators

Industry

Software Development

Description
Reality Labs at Meta is building first-of-a-kind products that make it easier for people to connect with the ones they love most and the environment in natural and innovative ways. We leverage cutting edge technologies and platforms to build rich features, ensure high performance, security and privacy with power/thermal constraint. We are a team of world-class experts developing and shipping products at the intersection of hardware, software and content. As 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 and next generation computing. We may not have all the answers. But together, we're getting closer. Responsibilities Design and implement components at all layers of the system, e.g. kernel, synchronization primitives, resource allocators, memory management, security, I/O systems, persistence, etc Design and implement drivers and services that operate efficiently in a constrained environment yet when pressed can efficiently deliver large volumes of data with low-latency and high-bandwidth Own the definition of one or more work streams focused on hardware bring up, peripheral drivers and communication, silicon integration and power and performance management and optimization Debug complex, system-level, multi-component issues that typically span across multiple layers from kernel to application Profile performance problems and drive optimizations that span the entire software stack Bring up new devices and lead debugging and performance tuning exercises that span multiple hardware/firmware/software teams Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development Qualifications Bachelor's or Master's Degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience 2+ years' Software Engineering experience in the following: device driver development, embedded systems, or operating systems 2+ years’ experience working on systems software in a large-scale C/C++ code base Experience with Software Development processes including: source control, bug tracking, and design documentation. Experience in hardware bring up using interfaces like ADC, GPIO, SPI, I2C, etc Experience in one or more of the following areas: SoC BSP/Board Support Package, Operating Systems, Android OS, RTOS/Zephyr, Bootloader, Power Management, Linux, Graphics and Display Drivers, MCU (Microcontroller) Experience developing, debugging, and shipping software products on large code bases that span platforms and tools Demonstrated experience in two or more of the following areas: BSP/Board Support Package, Operating Systems, Hardware Abstraction Layers, Kernel, Android Kernel, Bootloader, Power Management, Linux, Graphics and Display Drivers, MCU (Microcontroller) Demonstrated experience working collaboratively in cross-functional teams Demonstrated experiences working on Qualcomm SoC solutions
Responsibilities
Design and implement components across all system layers, including kernel and memory management. Debug complex system-level issues and lead the integration of software components from multiple teams.
Loading...