Software Engineer, Embedded Systems/Firmware, Pixel Bootloader
Embedded Development
Embedded Engineering
Embedded Firmware
Embedded Operating Systems
Embedded Software
Embedded Systems
Embedded Systems Software
Engineering
Firmware
Firmware Development
Hardware Software Co Design
Programming
Programming Language
Programming Languages
Secure Boot
Security Engineering
Software Development
Software Engineer
Software Engineering
Job Description
Google’s Pixel Bootloader team is building and evolving the software stack that starts Pixel phones and tablets. In this onsite role in Mountain View, CA, you will help deliver bootloader and firmware capabilities while partnering across the development cycle to bring up new devices. You will own and debug embedded features where software meets silicon and platform hardware.
You will work directly on bootloader/firmware systems using C and Rust, contributing to planning, design, and implementation across core platform areas. The work spans everything from early validation environments through prototypes, mass production, and in-market support.
Responsibilities
- Own and deliver bootloader and firmware features implemented in C and Rust.
- Participate in bringing up new Pixel devices across the full development lifecycle, including pre-silicon emulation, SoC development boards, prototypes, mass production, and in-market.
- Drive software planning, design, and implementation for features across interconnect, boot, reset, memory, high speed IO, low speed IO, interrupt controllers, and security.
- Debug complex problems involving interactions between silicon, hardware, firmware, software, and the environment.
- Contribute across multiple code bases, including C, Rust, and Python.
Requirements
- Bachelor’s degree or equivalent practical experience.
- 2+ years of software development experience in C.
- 2+ years of experience working with embedded operating systems.
Technologies
- C, Rust, Python
- JTAG, ARM SWD, ARM CoreSight
- gdb, TRACE32
- BIOS, uboot, UEFI, coreboot, Linux kernel
Preferred Qualifications
- Master’s degree or PhD in Computer Science or a related technical field.
- 2 years of experience with data structures and algorithms.
- Experience with common debug or trace technologies such as JTAG, ARM SWD, ARM CoreSight, gdb, TRACE32, and similar tools.
- Experience building embedded software for bare-metal microcontroller firmware, RTOS, bootloaders (including BIOS, uboot, UEFI, coreboot), or the Linux kernel.
- Experience with modern SoC architecture, system bring-up, debug, or trace techniques.
- Proficiency in Rust.
Compensation and Benefits
- Salary: USD 147,000 - 210,000 per year
- Bonus target: 15%
- Equity
- Benefits and Health insurance