Software Engineer, Nest Platform Services

Google   •  

Palo Alto, CA

Industry: Technology


Not Specified years

Posted 165 days ago

This job is no longer available.

Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.

As a Software Engineer, you'll be responsible for building the infrastructure backbone of the conscious home, along with product-specific services that enable end-user features and design systems within our distributed environment.

Google's mission is to organize the world's information and make it universally accessible and useful. Our Hardware team researches, designs, and develops new technologies and hardware to make our user's interaction with computing faster, more powerful, and seamless. Whether finding new ways to capture and sense the world around us, advancing form factors, or improving interaction methods, our Hardware team is making people's lives better through technology.


  • Develop systems within Nest’s service oriented architecture.
  • Write clear, maintainable, and performant code.
  • Implement real time data synchronization, identity management, large-scale data processing frameworks, and service endpoints for web, embedded, and mobile clients.
  • Diagnose problems in a complex distributed environment.
  • Work cross-functionally with Product Marketing, TechOps, and Release Engineering.


Minimum qualifications:

  • BS degree in a technical field or equivalent practical experience.
  • Demonstrated experience working with one or more programming languages such as: Java, C/C++, and/or Python.

Preferred qualifications:

  • Master’s degree in a technical field or equivalent practical experience.
  • Experience in building distributed systems or backend services.
  • Experience with large systems software design and development, with extensive knowledge of UNIX/Linux.
  • Knowledge of container technologies (such as Kubernetes, Docker), services, and API models (like Swagger, OpenAPI).