Software Engineer Iii, Hardware/software Co-design

Google Google · Big Tech · Sunnyvale, CA +1

Software Engineer III role focused on hardware/software co-design, involving complex problem-solving in hardware acceleration, performance bottlenecks, computer architecture, automation, and machine learning. Responsibilities include designing, developing, testing, deploying, maintaining, and improving software, managing project priorities, and providing end-to-end performance analysis. The role also involves informing research direction based on identified engineering gaps.

What you'd actually do

  1. Design, develop, test, deploy, maintain, and improve software.
  2. Manage individual project priorities, deadlines, and deliverables.
  3. Provide end-to-end performance analysis for deployed platforms.
  4. Inform direction for research where engineering gaps are identified that merit improved solutions.

Skills

Required

  • C++
  • Python
  • compute/storage systems
  • software systems
  • networks

Nice to have

  • hardware design
  • data structures
  • algorithms
  • Object Oriented Programming
  • Functional Programming
  • distributed systems
  • OS/kernel
  • network system design
  • large-scale storage systems
  • non-x86 microarchitectures
  • low level performance analysis
  • HDL simulators
  • Register Transfer Level code
  • Verilog
  • silicon architecture
  • silicon design