Embedded Software Engineer, Debugging and Tracing, Analytics, Silicon

Google Google · Big Tech · Mountain View, CA +1

Embedded Software Engineer focused on debugging, tracing, and analytics for high-performance, low-power hardware and software in SoC projects. The role involves firmware development for microcontrollers, hardware/software co-design, working with prototypes, and writing production-level code for embedded devices.

What you'd actually do

  1. Develop firmware for deeply embedded microcontrollers in complex SoC projects.
  2. Review hardware designs, prototype software-based hardware-mocks, and engage in hardware/software co-design efforts to engineer debug solutions that support all phases of the product life cycle.
  3. Work with early hardware prototypes, FPGAs, software-simulation of SoC and subsystem designs to verify and enable functionality.
  4. Develop modular firmware components to maximize code reusability across multiple related SOCs.
  5. Write production level code, and support it through to product launch.

Skills

Required

  • software development (C, C++)
  • embedded operating systems (e.g., FreeRTOS, ZephyrOS, LK, Tock, etc.)
  • testing and launching software products on embedded devices

Nice to have

  • ARM or RISC-V assembly
  • MMU, IOMMU, and SOC interconnects
  • power and clock management concepts
  • bootloaders and SOC boot flow
  • debugging skills with GNU Debugger (GDB) and commercial JTAG debug solutions