Google

Software Developer, Embedded Systems/Firmware, DNN Frameworks

Google Waterloo, Ontario, Canada · $174K–$252K/yr

Software Development · 10,001+ employees

4 h ago
embedded Senior (5-10 yrs) Full-time United States
Log in to apply, save this posting, or score it against your profile with AI.

About the role

You will write, test, and maintain product code while leading design reviews to ensure high-quality software standards. Additionally, you will triage and debug system issues to optimize performance across hardware and network operations.

What they look for

C++ Software Development Embedded Systems Firmware DNN Frameworks Software Architecture Embedded Operating Systems Data Structures Algorithms Technical Leadership Android Development Distributed Computing System Design Artificial Intelligence Natural Language Processing Debugging

Requirements

Candidates must have at least a bachelor's degree and 5 years of experience in C/C++ software development. Proficiency in embedded operating systems and software architecture is required, with a preference for advanced degrees and technical leadership experience.

Benefits

Bonus Equity Health Insurance

Full description

Minimum qualifications:

  • Bachelor’s degree or equivalent practical experience.
  • 5 years of experience with software development in C/C++.
  • 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
  • 3 years of experience working with embedded operating systems.

Preferred qualifications:

  • Master's degree or PhD in Computer Science or related technical field.
  • 5 years of experience with data structures and algorithms.
  • 1 year of experience in a technical leadership role.
  • Familiarity with Android development.

About the job:

Google's software developers 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 software developers 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 developer, 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 software developers 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 Platforms and Devices team encompasses Google's various computing software platforms across environments (desktop, mobile, applications), as well as our first party devices and services that combine the best of Google AI, software, and hardware. Teams across this area research, design, and develop new technologies to make our user's interaction with computing faster and more seamless, building innovative experiences for our users around the world.Individual pay is determined by factors including job-related skills, experience, and relevant education or training.

US: $174000 - $252000 (USD) + 15% bonus target + equity + benefits Canada: $182000 - $186000 (CAD) + 15% bonus target + equity + benefits

Learn more about benefits at Google. Responsibilities:

  • Write and test product or system development code.
  • Participate in, or lead design reviews with peers and stakeholders to decide amongst available technologies.
  • Review code developed by other developers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
  • Contribute to existing documentation or educational content and adapt content based on product/program updates and user feedback.
  • Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality.

Similar roles