Software Engineer Iii, Embedded Systems Firmware, Platforms Infrastructure Engineering

Google Google · Big Tech · Sunnyvale, CA +1

This role is for a Software Engineer III focused on Embedded Systems Firmware within the Platforms Infrastructure Engineering team at Google. The role involves developing next-generation technologies, working on projects critical to Google's needs, and contributing to the AI and Infrastructure team's mission to deliver AI and Infrastructure at scale. Responsibilities include design reviews, code reviews, debugging, and writing product/system development code. Requires experience in low-level systems programming, embedded operating systems, and Linux kernel development.

What you'd actually do

  1. Participate in, or lead design reviews with peers and stakeholders to decide amongst available technologies.
  2. Review code developed by other engineers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
  3. Contribute to existing documentation or educational content and adapt content based on product/program updates and user feedback.
  4. Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality.
  5. Write product or system development code.

Skills

Required

  • Bachelor’s degree or equivalent practical experience
  • 2 years of experience in low level systems programming languages (e.g., C++ or C), or 1 year of experience with an advanced degree in an industry setting
  • 2 years of experience with working with embedded operating systems
  • 2 years of experience in Linux Kernel development with the programming language in C/C++

Nice to have

  • Master's degree or PhD in Computer Science or related technical fields
  • 2 years of experience with data structures and algorithms in academic or industry setting
  • Experience with Linux kernel (e.g., building and configuring Linux kernels for embedded systems), and understanding kernel internals, such as virtual memory, interrupt handling, device drivers, etc.
  • Experience in GPU programming
  • Experience with scripting languages (e.g., Python) and low level driver coding (e.g., C, C#, C.NET) and familiarity with Linux Shell scripting
  • Experience with high-performance computing

What the JD emphasized

  • low level systems programming languages (e.g., C++ or C)
  • embedded operating systems
  • Linux Kernel development
  • Linux kernel (e.g., building and configuring Linux kernels for embedded systems), and understanding kernel internals, such as virtual memory, interrupt handling, device drivers, etc.