Software Engineer, Embedded Systems or Firmware

Google Google · Big Tech · Bengaluru, Karnataka, India

Software Engineer role focused on developing embedded firmware, bare metal tests, and low-level debug tools for SoC validation. The role involves hardware-software co-design and working closely with silicon design and post-silicon teams throughout the development lifecycle.

What you'd actually do

  1. Develop embedded firmware, bare metal tests and low-level debug tools for pre and post-silicon validation of SoCs. Exercise these capabilities on emulation, simulation and silicon platforms.
  2. Co-work with architecture, design and verification teams and enable hardware-software co-design.
  3. Engage with silicon design teams at a very early stage and drive integration validation and firmware features enablement as the silicon development progresses.
  4. Work closely with post-silicon and platform hardware teams to ensure silicon enablement and support silicon debugs.

Skills

Required

  • embedded systems
  • firmware development
  • C/C++
  • bare-metal environments on SoCs
  • firmware debugs on silicon
  • debug tools (TRACE32, OpenOCD)

Nice to have

  • emulation platforms
  • ARM architectures
  • RISC-V architectures
  • SoC architecture
  • AXI
  • DDR
  • PCIe

What the JD emphasized

  • embedded systems or firmware development
  • embedded software or firmware development in C/C++
  • bringing up bare-metal environments on SoCs
  • leading firmware debugs on silicon and usage of debug tools