Software Engineer, Embedded Systems, Debug and Trace

2 Months ago • 2-2 Years • $141,000 PA - $202,000 PA
System Design

Job Description

The team develops hardware and software for Google's innovations in mobile image and AI processing, enabling software for on-chip debug and analytics. The development product supports on-chip debugging for custom silicon crucial for early bring-up, productization, and feature development. The team collaborates with various SoC architectures, hardware design, verification, OS/kernel driver developers, and customer-facing product teams. Responsibilities include developing firmware for embedded microcontrollers in SoC projects, reviewing hardware designs, prototyping software-based hardware mocks, and engaging in hardware/software co-design to engineer debug solutions. The role involves working with early hardware prototypes, FPGAs, and software simulations to verify and enable functionality, developing modular firmware components for reusability, and creating firmware to support error reporting for system crashes or hardware failures. The aim is to improve computing speed, seamlessness, and power through technology, making lives better.
Good To Have:
  • Master's degree or PhD in Computer Science
  • Experience with debugging on hardware/software boundary
  • Experience with embedded operating systems
  • Experience in C/C++ development for firmware
  • Experience debugging with GDB and JTAG solutions
  • Experience with ARM or RiscV assembly
Must Have:
  • Bachelor's degree or equivalent practical experience
  • 2 years of software development experience
  • 2 years of data structures or algorithms experience
  • 2 years of embedded systems/firmware experience
Perks:
  • bonus
  • equity
  • benefits

Add these skills to join the top 1% applicants for this job

problem-solving
cpp
talent-acquisition
data-structures
fpga
prototyping
user-interface
networking
algorithms
system-design

Software Engineer, Embedded Systems, Debug and Trace

GoogleMountain View, CA, USA

Minimum qualifications:

  • Bachelor’s degree or equivalent practical experience.
  • 2 years of experience with software development in one or more programming languages, or 1 year of experience with an advanced degree.
  • 2 years of experience with data structures or algorithms in either an academic or industry setting.
  • 2 years of experience with embedded systems/firmware.

Preferred qualifications:

  • Master's degree or PhD in Computer Science, or a related technical field.
  • Experience with debugging on the hardware/software boundary.
  • Experience with embedded operating systems (e.g., FreeRTOS, ZephyrOS, LK, Tock, etc.).
  • Experience in C/C++ development for firmware applications.
  • Experience debugging with GDB and commercial JTAG debug solutions.
  • Experience with ARM or RiscV assembly.

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.

The team develops hardware and software to enable Google’s innovations in mobile image and AI processing. The team enables software for on-chip debug and analytics. The development product supports on-chip debugging for custom silicon that is essential for early bring-up, productization, and feature development. The team works with a range of SoC architecture, hardware design, verification, OS/kernel driver developers, and teams responsible to build customer-facing products.

In this role, you will focus on debug, trace, and analytics. You will be responsible for all lifecycle phases of custom silicon projects. You will have opportunities across the development lifecycle influencing the architecture of future products, working on early prototype hardware and software simulations, up to supporting customers in productizing end-user devices.

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.

The US base salary range for this full-time position is $141,000-$202,000 + bonus + equity + benefits. Our salary ranges are determined by role, level, and location. Within the range, individual pay is determined by work location and additional factors, including job-related skills, experience, and relevant education or training. Your recruiter can share more about the specific salary range for your preferred location during the hiring process.

Please note that the compensation details listed in US role postings reflect the base salary only, and do not include bonus, equity, or benefits. Learn more about benefits at Google.

Responsibilities

  • Develop firmware for embedded microcontrollers in SoC projects.
  • Review hardware designs, prototype software-based hardware-mocks, and engage in hardware/software co-design efforts to engineer debug solutions that support all phases of the product life cycle.
  • Work with early hardware prototypes, Field-programmable Gate Array (FPGA), software simulation of SoC and subsystem designs to verify and enable functionality.
  • Develop modular firmware components to maximize code reusability across multiple related SoCs.
  • Develop firmware to support error reporting of system crashes or hardware failures.

Information collected and processed as part of your Google Careers profile, and any job applications you choose to submit is subject to Google's Applicant and Candidate Privacy Policy.

Google is proud to be an equal opportunity and affirmative action employer. We are committed to building a workforce that is representative of the users we serve, creating a culture of belonging, and providing an equal employment opportunity regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition (including breastfeeding), expecting or parents-to-be, criminal histories consistent with legal requirements, or any other basis protected by law. See also Google's EEO Policy, Know your rights: workplace discrimination is illegal, Belonging at Google, and How we hire.

If you have a need that requires accommodation, please let us know by completing our Accommodations for Applicants form.

Google is a global company and, in order to facilitate efficient collaboration and communication globally, English proficiency is a requirement for all roles unless stated otherwise in the job posting.

To all recruitment agencies: Google does not accept agency resumes. Please do not forward resumes to our jobs alias, Google employees, or any other organization location. Google is not responsible for any fees related to unsolicited resumes.

Set alerts for more jobs like Software Engineer, Embedded Systems, Debug and Trace
Set alerts for new jobs by Google
Set alerts for new System Design jobs in United States
Set alerts for new jobs in United States
Set alerts for System Design (Remote) jobs

Contact Us
hello@outscal.com
Made in INDIA 💛💙