Senior Software Engineer, TPU, Google Cloud Platform

1 Month ago • 5-5 Years • Research & Development

About the job

Job Description

As a Senior Software Engineer, TPU, Google Cloud Platform, you will be responsible for architecting, designing, and building firmware running on embedded microcontrollers with limited memory footprints on the accelerator ASIC such as power-on and reset of the ASICs, initializing low level hardware, power management, and security. You will also contribute to all layers of the data center software stack to deploy accelerator Application-Specific Integrated Circuits (ASICs) to production. You will architect, design and develop tools to update and debug ASIC firmware. Enable chip bring-up and hardware debugging. Build functional or cycle level simulators that bit accurately and model the custom accelerator ASICs. Build tools and infrastructure to help ASIC design verification, tapeout, and bring-up. Develop embedded CPU simulators as part of the full system simulator. Co-design hardware/software interface, working closely with the Hardware Design and Development teams.
Must have:
  • 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
  • 5 years of experience in system software development in C or C++
  • 3 years of experience testing, maintaining, or launching software products
  • 1 year of experience with software design and architecture
Good to have:
  • Master's degree or PhD in Computer Science, or a related technical field
  • Experience in hardware/software co-design at the chip-level
  • Experience in embedded systems
  • Familiarity with High-Bandwidth Memory (HBM), Peripheral Component Interconnect Express (PCIe), and ARM
  • Familiarity with security and confidential computing
  • Familiarity with Machine Learning

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.
  • 5 years of experience in system software development in C or C++.
  • 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.

Preferred qualifications:

  • Master's degree or PhD in Computer Science, or a related technical field.
  • Experience in hardware/software co-design at the chip-level.
  • Experience in embedded systems.
  • Familiarity with High-Bandwidth Memory (HBM), Peripheral Component Interconnect Express (PCIe), and ARM.
  • Familiarity with security and confidential computing.
  • Familiarity with Machine Learning.

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.

In this role, you will manage project priorities, deadlines, and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions.

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're proud to be our engineers' engineers and love voiding warranties by taking things apart so we can rebuild them. We keep our networks up and running, ensuring our users have the best and fastest experience possible.

Responsibilities

  • Architect, design, and build firmware running on embedded microcontrollers with limited memory footprints on the accelerator ASIC such as power-on and reset of the ASICs, initializing low level hardware, power management, and security.
  • Contribute to all layers of the data center software stack to deploy accelerator Application-Specific Integrated Circuits (ASICs) to production.
  • Architect, design and develop tools to update and debug ASIC firmware. Enable chip bring-up and hardware debugging.
  • Build functional or cycle level simulators that bit accurately and model the custom accelerator ASICs. Build tools and infrastructure to help ASIC design verification, tapeout, and bring-up. Develop embedded CPU simulators as part of the full system simulator.
  • Co-design hardware/software interface, working closely with the Hardware Design and Development teams.
View Full Job Description

Add your resume

80%

Upload your resume, increase your shortlisting chances by 80%

About The Company

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.

View All Jobs

Get notified when new jobs are added by Google

Similar Jobs

DPS Games - Lead Backend Engineer (Unannounced project)

DPS Games, United Kingdom (Hybrid)

Blockville Digital Assets - AI Technology Specialist for Game Development

Blockville Digital Assets, Türkiye (On-Site)

Wargaming - Client Game Developer (World of Tanks)

Wargaming, Cyprus (Hybrid)

Curtiss-Wright Corporation - Software Dev Engineer

Curtiss-Wright Corporation, India (On-Site)

Meta - Silicon Architect

Meta, United States (On-Site)

Riot Games - Treasury Analyst III

Riot Games, Ireland (On-Site)

Avathon - Software Engineering Manager

Avathon, India (On-Site)

Get notifed when new similar jobs are uploaded

Similar Skill Jobs

Matic Robots - Systems Engineer (Rust)

Matic Robots, United States (On-Site)

Meta - Software Engineer, Product

Meta, United States (Remote)

Meta - Software Engineer (Android OS - Embedded)

Meta, United States (On-Site)

Intrepid Studios,  Inc  - Senior Gameplay Engineer

Intrepid Studios, Inc , United States (On-Site)

ByteDance - Software Engineer, UI Framework

ByteDance, United States (On-Site)

Get notifed when new similar jobs are uploaded

Jobs in Taipei City, Taiwan

Rivos - SOC Physical Design - Full time

Rivos, Taiwan (Hybrid)

Appier - Account Operations (Intern)

Appier, Taiwan (On-Site)

Appier - ServiceOps Engineer

Appier, Taiwan (On-Site)

Appier - LLM Research Scientist (Intern)

Appier, Taiwan (On-Site)

Logitech - Mechanical Intern

Logitech, Taiwan (On-Site)

Logitech - CMF Technician

Logitech, Taiwan (On-Site)

Get notifed when new similar jobs are uploaded

Research & Development Jobs

Assystems - Structural Design Engineer

Assystems, India (On-Site)

Luxoft - Senior BSP Integrator

Luxoft, India (Hybrid)

Fabric - Applied Researcher, Cryptography Hardware

Fabric, United States (Remote)

EPAM Systems - Senior Python Software Engineer

EPAM Systems, India (Remote)

Intel Corporation - AI Frameworks Engineer

Intel Corporation, Costa Rica (On-Site)

Meta - Software Engineer (Technical Leadership)

Meta, United States (On-Site)

UST - Physical Design Engineer

UST, India (On-Site)

Get notifed when new similar jobs are uploaded