Software Engineer, Early Careers, Phd, Gsoc Server Software

Google Google · Big Tech · Warsaw, Poland

Software Engineer role focused on firmware development for SoCs, including bootROMs, drivers, and security aspects. Requires a PhD and experience with embedded systems and C/C++.

What you'd actually do

  1. Contribute to the implementation of robust firmware code based in C/C++, design sequences, simulators and emulators for new features and optimize existing systems. This involves low-level hardware interaction, peripheral control, writing and maintaining device drivers for various SoC peripherals (e.g., UART, I2C, SPI, memory controllers, etc.).
  2. Focus on the secure aspects of the boot process, such as Confidential Compute, Attestation, Security, etc.
  3. Contribute to design activities.
  4. Navigate up and down the stack as needed. Implement new BIOS features, sometimes debugging a kernel driver, or interacting with the silicon designers.
  5. Identify root causes of complex issues within the SoC. You will use debugging tools like in-circuit emulators, simulator, logging, JTAG debuggers to isolate and fix software bugs.

Skills

Required

  • C/C++
  • firmware development
  • embedded systems
  • microcontrollers
  • debugging tools
  • SoC peripherals

Nice to have

  • embedded Linux
  • Linux device drivers
  • Zephyr
  • BIOS
  • UEFI
  • EDK2
  • security firmware development

What the JD emphasized

  • PhD degree in Electrical Engineering, Computer Engineering, Computer Science, a related field, or equivalent practical experience.
  • Experience with microcontrollers and embedded systems (e.g., registers, design sequences, RTL, or verilog, etc.) and firmware development.