Software Engineer, Embedded Systems/Firmware, Pixel Bootloader
About the role
MINIMUM QUALIFICATIONS:
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience with software development in C.
- 2 years of experience working with embedded operating systems.
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 (e.g., JTAG, ARM SWD, ARM
CoreSight, gdb, TRACE32, etc.).
- Experience developing embedded software in bare-metal microcontroller
firmware, RTOS, bootloaders (e.g., BIOS, uboot, UEFI, coreboot, etc.), or
Linux kernel.
- Experience with modern SoC architecture, system bring-up, debug, or trace
techniques.
- Proficiency in the Rust programming language.
ABOUT THE JOB:
Google's software engineers develop the next-generation technologies that change
how billions of users connect, explore, and interact with information and one
another. Our products need to handle information at massive scale, and extend
well beyond web search. We're looking for engineers who bring fresh ideas from
all areas, including information retrieval, distributed computing, large-scale
system design, networking and data storage, security, artificial intelligence,
natural language processing, UI design and mobile; the list goes on and is
growing every day. As a software engineer, you will work on a specific project
critical to Google’s needs with opportunities to switch teams and projects as
you and our fast-paced business grow and evolve. We need our engineers to be
versatile, display leadership qualities and be enthusiastic to take on new
problems across the full-stack as we continue to push technology forward.
The Pixel Bootloader team collaborates with Android platform, Pixel hardware,
gChips, and external partners to deliver a bootloader software stack that
provides a positive Android experience for Pixel phones and tablets.The Google
Pixel team focuses on designing and delivering the world's most helpful mobile
experience. The team works on shaping the future of Pixel devices and services
through some of the most advanced designs, techniques, products, and experiences
in consumer electronics. This includes bringing together the best of Google’s
artificial intelligence, software, and hardware to build global smartphones and
create transformative experiences for users across the world.Individual pay is
determined by factors including job-related skills, experience, and relevant
education or training.
US: $147000 - $210000 (USD) + 15% bonus target + equity + benefits
Learn more about benefits at Google
[https://www.google.com/about/careers/applications/benefits/].
RESPONSIBILITIES:
- Own and deliver bootloader and firmware features in C and Rust.
- Participate in bringing up new Pixel devices throughout the full development
cycle such as pre-silicon emulation environments, SoC development boards,
prototypes, mass production, and in-market.
- Participate in software planning, design, and implementation of software
features in areas such as interconnect, boot, reset, memory, high speed IO,
low speed IO, interrupt controllers, and security.
- Debug issues involving complicated multi-faceted interactions between
silicon, hardware, firmware, software, and the environment.
- Work in a variety of code bases (e.g., C, Rust, and Python).
Responsibilities
- Own and deliver bootloader and firmware features in C and Rust.
- Participate in bringing up new Pixel devices throughout the full development cycle such as pre-silicon emulation environments, SoC development boards, prototypes, mass production, and in-market.
- Participate in software planning, design, and implementation of software features in areas such as interconnect, boot, reset, memory, high speed IO, low speed IO, interrupt controllers, and security.
- Debug issues involving complicated multi-faceted interactions between silicon, hardware, firmware, software, and the environment.
- Work in a variety of code bases (e.g., C, Rust, and Python).
Qualifications
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience with software development in C.
- 2 years of experience working with embedded operating systems.
- Master's degree or PhD in Computer Science or a related technical field is preferred.
- 2 years of experience with data structures and algorithms is preferred.
- Experience with common debug or trace technologies (e.g., JTAG, ARM SWD, ARM CoreSight, gdb, TRACE32, etc.) is preferred.
- Experience developing embedded software in bare-metal microcontroller firmware, RTOS, bootloaders, or Linux kernel is preferred.
- Experience with modern SoC architecture, system bring-up, debug, or trace techniques is preferred.
Benefits
- 15% bonus target
- equity
- benefits
Skills mentioned
About Google
A problem isn't truly solved until it's solved for all. Googlers build products that help create opportunities for everyone, whether down the street or across the globe. Bring your insight, imagination and a healthy disregard for the impossible. Bring everything that makes you unique. Together, we can build for everyone. Check out our career opportunities at goo.gle/3DLEokh