Software Engineer

Google · Bengaluru

  • Experience2–6 yrs
  • SalaryNot disclosed
  • Work modeonsite
  • Levelmid
  • Posted2 Sept 2026

About Google

Google is hiring in Bengaluru in technology software. This role looks for around 2+ years of experience.

Skills

  • Distributed systems
  • Machine learning
  • System design
  • Algorithms
  • C
  • C++
  • Python
  • Java
  • Golang
  • Concurrency
  • Multi-threading
  • Synchronization
  • Software development

The role

A software engineer at a technology software company defines and builds large-scale distributed systems using distributed systems, machine learning, and system design, while applying algorithms and performance analysis to complex research and production systems. The role also develops scalable architectures, investigates root causes, and writes efficient, testable code.

Full job description

As a PhD Software Engineer within AI2 your specialized research expertise will be instrumental in solving complex, real-world problems on an unprecedented scale. You'll engage in innovative projects spanning areas like AI/ML, networking, data storage, security, and distributed systems.

Responsibilities:

Define and drive the technical goal for next-generation distributed systems.

Design, develop, and implement scalable, reliable, and high-performance large-scale distributed systems.

Apply specialized research expertise to the design, analysis, and development of complex systems across the stack.

Investigate, diagnose, and resolve technical issues by analyzing root causes and impact.

Write and review code, ensuring adherence to best practices in style, accuracy, testability, and efficiency.

Requirements:

PhD degree in Computer Science, Electrical Engineering, or a related technical field.

Experience in software development, with a focus on areas such as large-scale distributed systems, AI/ML, networking, data storage, or security.

Experience in architecture or development of distributed systems, including concurrency, multi-threading, or synchronization.

Experience in algorithms, complexity analysis, and system design.

Experience coding in one of the following programming languages, including but not limited to C, C++, Python, Java, or Golang.

Preferred qualifications:

Experience in areas such as algorithms, architecture, artificial intelligence, compilers, databases, data mining, distributed systems, machine learning, networking, or general systems.

Expertise in designing and implementing complex systems for either production or experimental use.

Proficiency in performance analysis or the analysis of systems data.

Demonstrated success in publishing peer-reviewed articles in prestigious conferences or journals (e. g., ACL, KDD, SOSP, Nature).

Availability to commence a full-time position in 2026

Exceptional engineering capabilities.