Software Engineer, TPU, Platforms Infrastructure Engineering

1 Week ago • 2 Years + • Research & Development

About the job

SummaryBy Outscal

Must have:
  • Bachelor's degree in Computer Science or related field
  • 2 years of experience with software development in C/C++
  • Experience with Embedded software development in C/C++
  • Experience with hardware/software co-design at the chip-level
Good to have:
  • Master's degree in Computer Science or related field
  • Experience with architecting scalable software, multi-threaded designs, and implementation
  • Experience with HBM, PCIe, and ARM
  • Experience with machine-learning, security, and confidential computing
Not hearing back from companies?
Unlock the secrets to a successful job application and accelerate your journey to your next opportunity.

Minimum qualifications:

  • Bachelor's degree in Computer Science, a related technical field, or equivalent practical experience.
  • 2 years of experience with software development in C/C++.

Preferred qualifications:

  • Master's degree in Computer Science, a related technical field, or equivalent practical experience.
  • Experience with Embedded software development in C/C++.
  • Experience with hardware/software co-design at the chip-level.
  • Experience with architecting scalable software, multi-threaded designs, and implementation.
  • Experience with HBM, PCIe, and ARM.
  • Experience with machine-learning, security, and confidential computing.

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.

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

  • Design and build firmware running on embedded micro-controllers with limited memory footprints on the accelerator ASICs.
  • Co-design hardware/software interface, and work with the hardware design and development teams.
  • Design and develop tools to update and debug ASIC firmware, and enable chip bring-up and hardware debugging.
  • Build functional or cycle-level simulators that bit-accurately model the custom accelerator ASICs, build tools and infrastructure to help ASIC design verification, tapeout, and bring-up, and develop embedded CPU simulators as part of the full system simulator.
View Full Job Description

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

Level Up Your Career in Game Development!

Transform Your Passion into Profession with Our Comprehensive Courses for Aspiring Game Developers.

Job Common Plug