Senior Software Engineer, Embedded Systems/Firmware, Google Cloud


Minimum qualifications:

  • Bachelor's degree in Computer Science, Computer Engineering, a related technical field, or equivalent practical experience.
  • 5 years of experience with embedded systems/firmware design.
  • Experience coding in C++.

Preferred qualifications:

  • Experience with hardware design (e.g., computer architecture or chip design).
  • Experience with SoC power management techniques.
  • Experience with SoC secured boot flow.
  • Experience with SoC cycles.
  • Experience with Peripheral Component Interconnect Express (PCIe), Direct Memory Access (DMA), virtualization, or memory modules.
  • Ability to work with device level hardware and software, especially in a lab environment.

About the job

Google Cloud's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. 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 Cloud's needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. You will anticipate our customer needs and be empowered to act like an owner, take action and innovate. 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.

Behind everything our users see online is the architecture built by the Technical Infrastructure team to keep it running from developing and maintaining our data centers to building the next generation of Google platforms, we make Google's product portfolio possible. We keep our networks up and running, ensuring our users have the best and fastest experience possible.

The ML, Systems, & Cloud AI (MSCA) organization at Google designs, implements, and manages the hardware, software, machine learning, and systems infrastructure for all Google services (Search, YouTube, etc.) and Google Cloud. Our end users are Googlers, Cloud customers and the billions of people who use Google services around the world.

We prioritize security, efficiency, and reliability across everything we do - from developing our latest TPUs to running a global network, while driving towards shaping the future of hyperscale computing. Our global impact spans software and hardware, including Google Cloud’s Vertex AI, the leading AI platform for bringing Gemini models to enterprise customers.

Responsibilities

  • Build C++ firmware running on embedded processors with limited memory footprints on the SoCs.
  • Develop tools to update and debug the firmware, enable emulation, chip bringup, and hardware debugging.
  • Build Linux kernel device drivers to attach the SoCs to data center systems and associated C++ user space drivers, tools and libraries, and write code to handle multiple IPs within the design.
  • Play key roles in emulation, chip bring up, and SoC deployment, and contribute to all layers of the data center software stack to deploy SoCs to production.
  • Create code generators to generate C++ code based on hardware specifications.
Job Information

Related vacancies