Staff Software Engineer, Embedded Systems/firmware

Google Google · Big Tech · Bengaluru, Karnataka, India

Staff Software Engineer focused on embedded systems and firmware development for Infrastructure Processing Units (IPUs) and Smart Network Interface Cards (SmartNICs). The role involves designing, developing, testing, and maintaining large-scale software solutions, implementing networking and embedded-system features, and collaborating with cross-functional teams. Requires significant experience in software development, embedded operating systems, embedded processors, Linux kernel, and enterprise networking concepts.

What you'd actually do

  1. Provide technical leadership on high-impact projects.
  2. Design, develop, test, deploy, maintain, and enhance large scale software solutions.
  3. Design and develop a control plane for Infrastructure Processing Units (IPUs) and Smart Network Interface Cards (SmartNICs).
  4. Implement networking and embedded-system features.
  5. Work in close collaboration with technical leads and cross-functional teams to define APIs, high-level software flows, integration and validation plans and release of features.

Skills

Required

  • software development
  • embedded operating systems
  • embedded processors
  • Linux kernel
  • drivers
  • BSP
  • enterprise networking concepts
  • distributed systems

Nice to have

  • data structures
  • algorithms
  • networking technologies
  • SDN
  • complex organization
  • cross-functional projects
  • Layer-2/3 networking protocols
  • DPDK
  • RDMA
  • QoS
  • embedded systems/firmware design
  • development
  • debugging

What the JD emphasized

  • 8 years of experience with software development
  • 5 years of experience working with embedded operating systems
  • 2 years of experience in working with embedded processors, Linux kernel, drivers, BSP
  • Experience with enterprise networking concepts
  • 2 years of experience in Layer-2/3 networking protocols and experience in networking technologies such as SDN, DPDK, RDMA, QoS etc.