Staff Software Engineer, Storage

Google Google · Big Tech · Sunnyvale, CA +1

Staff Software Engineer role focused on storage solutions for Google's services, including AI/ML systems. The role involves technical leadership in designing, developing, and deploying SSD-based systems and software, influencing teams, managing projects, and identifying innovation opportunities in the storage domain. Requires extensive experience in C++, software testing, large-scale infrastructure, and system design.

What you'd actually do

  1. Provide technical leadership on storage software projects to define, design, develop and deploy efficient and scalable SSD-based systems, software and devices.
  2. Influence and coach a distributed team of software engineers. Review deliverables and processes to ensure high quality with velocity, and exemplary teamwork.
  3. Facilitate alignment and clarity across teams on goals, outcomes, and timelines on these projects.
  4. Manage project priorities, deadlines, and deliverables, with clear cross-organizational stakeholder communication. Anticipate and resolve technical as well as operational problems, both direct and via partnerships.
  5. Identify innovation opportunities in the storage domain, influence executive leadership to invest, energize peers to contribute, and drive these improvements to completion.

Skills

Required

  • C++
  • software testing
  • large-scale infrastructure
  • distributed systems
  • networks
  • compute technologies
  • storage
  • hardware architecture
  • software design
  • software architecture
  • C
  • kernel
  • firmware
  • low-level software design
  • development
  • test
  • debug
  • deployment

Nice to have

  • Master's degree or PhD in Engineering, Computer Science, or a related technical field
  • data structures
  • algorithms
  • technical leadership
  • project teams
  • technical direction
  • Python
  • SQL
  • scripting languages
  • tools
  • structured organization
  • cross-functional projects
  • cross-business projects
  • storage systems
  • kernel drivers
  • embedded systems
  • solid-state drives
  • performance analysis
  • optimization

What the JD emphasized

  • 8 years of experience programming in C++
  • 5 years of experience testing, and launching software products
  • 5 years of experience building and developing large-scale infrastructure, distributed systems or networks, or with compute technologies, storage, or hardware architecture
  • 3 years of experience with software design and architecture
  • Experience in C, kernel, firmware or other low-level software design, development, test, debug and deployment