Senior Firmware Engineer, Google Cloud
Job Summary
This Senior Firmware Engineer role at Google Cloud involves developing custom silicon solutions for direct-to-consumer products. Responsibilities include building C++ firmware for embedded processors, developing debugging tools, creating Linux kernel device drivers, contributing to emulation and chip bring-up, and deploying SoCs to production. The position requires expertise in C/C++, embedded systems, networking (RDMA, packet processing), and system design principles. The successful candidate will contribute to all layers of the data center software stack and generate C++ code from hardware specifications. The role is based in Tel Aviv or Haifa, Israel, and demands a deep understanding of device-level hardware and software, particularly within a lab environment.
Must Have
- 10+ years software development (C/C++)
- Embedded systems/firmware design experience
- Networking (RDMA, packet processing)
- System design principles
- Build C++ firmware for embedded processors
- Develop debugging tools
Good to Have
- Hardware design experience
- SoC cycle experience
- Technical leadership experience
- Linux kernel driver development
- Hardware/software experience in lab environments
- Code generation
Job Description
Minimum qualifications:
- Bachelor's degree in Computer Science, Computer Engineering, a relevant technical field, or equivalent practical experience.
- 10 years of experience with software development in one or more programming languages (C/C++)
- Experience working with networking like: RDMA or packet processing and system design principles.
- Experience with embedded systems/firmware design.
Preferred qualifications:
- Experience with hardware design (e.g., computer architecture or chip design).
- Experience with SoC cycles.
- Experience in Technical leadership.
- Ability to work with device level hardware and software, especially in a lab environment.
About the job
In this role, you will contribute to the innovation behind products. Your expertise will shape the next generation of hardware experiences, delivering unparalleled performance, efficiency, and integration.
Behind everything our users see online is the architecture built by the Technical Infrastructure team to keep it running. From developing and maintaining our data centers to building the next generation of Google platforms, we make Google's product portfolio possible. We're proud to be our engineers' engineers and love voiding warranties by taking things apart so we can rebuild them. We keep our networks up and running, ensuring our users have the best and fastest experience possible.
Responsibilities
- Build C++ firmware running on embedded processors with limited memory footprints on the SoCs.
- Develop tools to update and debug the firmware, enable emulation, chip bringup, and hardware debugging.
- Build Linux kernel device drivers to attach the SoCs to data center systems and associated C++ user space drivers, tools and libraries, and write code to handle multiple IPs within the design.
- Play roles in emulation, chip bring-up, and SoC deployment, contributing to all layers of the data center software stack to deploy SoCs to production.
- Create code generators to generate C++ code based on hardware specifications.