G

Senior Software Engineer, Developer Tools

Google
Full-time
On-site
Google welcomes people with disabilities.

Minimum qualifications:

  • Bachelor’s degree or equivalent practical experience.
  • 5 years of experience with software development in C++, C, or Python.
  • 2 years of experience with developing firmware or embedded operating systems or with on-chip debugging, tracing or profiling solutions.

Preferred qualifications:

  • Master's degree or PhD in Computer Science or a related technical field.
  • 2 years of experience with Python and C/C++ development for firmware applications.
  • Experience in developing tools upon ARM CoreSight architecture, commercial Joint Test Action Group (JTAG) debug solutions or other debugging methodology.
  • Experience in Perfetto or a related profiling tool.

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. Google's mission is to organize the world's information and make it universally accessible and useful. Our team combines the best of Google AI, Software, and Hardware to create radically helpful experiences. We research, design, and develop new technologies and hardware to make computing faster, seamless, and more powerful. We aim to make people's lives better through technology.

Responsibilities

  • Develop software tools and scripts to diagnose and analyze system issues of Google custom silicon. Develop a dongle-less debugger by USB or other peripheral interfaces.
  • Correlate data from different microcontrollers, power/performance measurements with correlated timestamps. Present the analytics in Command Line Interface and Graphical Interface.
  • Apply machine learning on the analytics to identify the root causes and self-recovery methods. Enable test automation to collect the analytics in development test farms.
  • Engage cross-functionally with Google teams to build Application programming interfaces (APIs), tools, and user interfaces. Modify microcontroller firmware, extend Linux drivers, and engineer tooling to enable developer workflows.
  • Work with hardware prototypes, FPGAs, and Software-simulation of SoC to verify and enable functionality. Review hardware designs, prototype Software-based Hardware-mocks, and engage in hardware/software co-design to get the understanding of the debug/performance features.
Google is proud to be an equal opportunity workplace and is an affirmative action employer. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. See also Google's EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know by completing our Accommodations for Applicants form.