Google

Google

Senior Software Engineer, Pixel Core USB

Apply Now
🌍Warsaw, Poland
16h ago
👀 0 views
📥 0 clicks

Job Description

Minimum qualifications:

  • Bachelor’s degree or equivalent practical experience.
  • 5 years of experience with software development in one or more programming languages, and with data structures/algorithms.
  • 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
  • 3 years of experience working with embedded operating systems.
  • Experience in triaging, debugging, and resolving system issues across software, hardware, and SoC, including designing debug strategies.

Preferred qualifications:

  • Master's degree or PhD in Computer Science or related technical field.
  • 1 year of experience in a technical leadership role.
  • Solid background in embedded systems, including bootloaders, bare metal development (ARM/RISC-V), and experience with hardware specifications and peripherals (e.g., Synopsys DWC).
  • Familiarity with system-level software (e.g., upstream Linux), hardware interfaces (e.g., USB), debugging tools (JTAG), and developing accessible technologies.
  • Expertise in software development in C and Rust, including pre- and post-silicon development and SOC bring-up.

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.

Our team’s mission is to build next generation of USB connectivity and platform for wired charging for Pixels and enable end users to use Google’s 1st party and 3rd party USB accessories and chargers, USB-C connectivity with host PCs while ensuring USB-C port health and reliability. Our team owns the end-to-end software stack needed to provide seamless experience while using USB Type-C ports in Pixel products such as phones and tablets.

This is a unique opportunity to experience how the standalone USB controller IP is integrated into the platform and what it takes to integrate them to the rest of the SOC, while developing the low level software drivers needed to bring up the controller and manage the system resource needs for achieving the end-to-end usecases.

Google's mission is to organize the world's information and make it universally accessible and useful. Our Devices & Services team combines the best of Google AI, Software, and Hardware to create radically helpful experiences for users. We research, design, and develop new technologies and hardware to make our user's interaction with computing faster, seamless, and more powerful. Whether finding new ways to capture and sense the world around us, advancing form factors, or improving interaction methods, the Devices & Services team is making people's lives better through technology.

  • Write and test code, particularly in Rust and C for USB bootloaders, as well as bare metal programming for ARM M0/RISC-V.
  • Encompass reviewing peer code for best practices, triaging and resolving product/system issues across hardware, network and software, and designing debug strategies.
  • Demonstrate an understanding of USB data controllers, resource needs, USB 2.0/3.0 protocols, and the bring-up process for new devices.
  • Participate in or lead design reviews, decide on technologies, and contribute to product development from prototyping to mass production.
  • Contribute to documentation, adapt content based on feedback, and design and implement test cases for continuous integration.
Apply Now

More Jobs at Google