Senior Software Engineer, Hightide

Google Google · Big Tech · Bengaluru, Karnataka, India

This role is for a Senior Software Engineer focused on optimizing Google's Electronic Design Automation (EDA) toolchain, particularly for synthesis and place/route optimization. The engineer will identify and close critical gaps, propose and implement solutions, work with open-source contributors, and collaborate with various Google teams (GDM, Cloud, gChips, YouTube, Waymo) to improve Google hardware. The role involves teaching and mentoring others in EDA compiler optimization and requires strong software development skills in C++, algorithms, and data structures, with a preference for advanced degrees and familiarity with EDA tooling.

What you'd actually do

  1. Identify and close critical gaps in Google’s EDA toolchain, with a particular focus on synthesis or place and route optimization.
  2. Propose comprehensive solutions to these problems, and see them through multi-quarter implementation and adoption.
  3. Work with external upstream open source software contributors to get your improvements accepted upstream.
  4. Work closely with GDM, Cloud, gChips, YouTube, and Waymo engineers to identify new opportunities for Google EDA to leverage our in-house EDA tools to improve Google hardware.

Skills

Required

  • software development
  • C++
  • algorithms
  • data structures
  • optimization techniques
  • software design
  • software architecture
  • testing
  • maintaining software
  • launching software

Nice to have

  • Master's degree
  • PhD in Computer Science
  • technical leadership
  • EDA tooling ecosystem
  • chip design
  • algorithmic techniques

What the JD emphasized

  • 5 years of experience with software development in one or more programming languages
  • 5 years of experience with software development in C++ programming language
  • 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture
  • Experience in design, analysis, and implementation of algorithms
  • Experience with data structures, algorithms and optimization techniques