Software Engineer, Integrated Circuits Firmware
Listed on 2026-10-21
-
Software Development
Software Engineer, AI Engineer (Applied/Software), Embedded Software Engineer, C++ Developer
Google Sunnyvale, CA, USA
X In most instances, this position requires in-person interviews as part of the hiring process.
- Bachelor's degree or equivalent practical experience.
- 8 years of experience in software development.
- 5 years of experience working with embedded operating systems.
- 3 years of experience with software design and architecture.
- Experience in C, C++ and Embedded Systems.
- Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
- 8 years of experience with data structures/algorithms.
- 3 years of experience working in a complex, matrixed organization involving cross-functional, or cross-business projects.
- Experience in embedded C/C++, embedded software development, Hardware/Software code design at the chip-level, multi-threaded designs, machine learning and video encoding/decoding.
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 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.
As a part of this team, you will develop C++ code that controls and monitors Google’s custom accelerators (ASICs), including TPUs (for machine learning) and VCUs (for video encode/decode). You will also define the API that the rest of the software stack uses to build planet-scale deployments of the systems that use these ASICs. You will write code that directly handles interrupts, DMAs, and many other hardware-centric features.
You will have a direct role in the initial debug and bring-up of new ASICs and among the first teams to use the new chips. Additionally, our team owns simulation models that allow for early software development pre-silicon, work closely with external vendors and many internal teams including chip design, system software, ML supercomputer, compiler, and system test. The AI and Infrastructure team is redefining what’s possible.
We empower Google customers with breakthrough capabilities and insights by…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).