Software Engineer II, Embedded Systems/Firmware
The AI and Infrastructure team is redefining what’s possible. We empower Google customers with breakthrough capabilities and insights by delivering AI and Infrastructure at unparalleled scale, efficiency, reliability and velocity. Our customers include Googlers, Google Cloud customers, and billions of Google users worldwide.
We're the driving channel behind Google's groundbreaking innovations, empowering the development of our cutting-edge AI models, delivering unparalleled computing power to global services, and providing the essential platforms that enable developers to build the future. From software to hardware our teams are shaping the future of world-leading hyperscale computing, with key teams working on the development of our TPUs, Vertex AI for Google Cloud, Google Global Networking, Data Center operations, systems research, and much more.
- Develop embedded firmware, bare metal tests and low-level debug tools for pre and post-silicon validation of SoCs.
- Co-work with architecture, design and verification teams and enable hardware-software co-design.
- Engage with silicon design teams at a very early stage and drive integration validation and firmware features enablement as the silicon development progresses.
- Work closely with post-silicon and platform hardware teams to ensure silicon enablement and support silicon debugs.
- Exercise these capabilities on emulation, simulation and silicon platforms.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience in embedded systems or firmware development.
- Experience with embedded software or firmware development in C/C++.
- Experience with bringing up bare-metal environments on SoCs.
- Experience in leading firmware debugs on silicon and usage of debug tools such as TRACE32, OpenOCD, etc.
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical field.
- Experience in using emulation platforms for firmware enablement, validation, and debug.
- Experience with ARM and RISC-V architectures.
- Experience in industry standard software development practices and agile methodologies.
- Understanding of SoC architecture and interfaces (e.g., Advanced Extensible Interface (AXI), Double Data Rate (DDR), Peripheral Component Interconnect Express (PCIe), etc.).