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 on our platform services team, you will be responsible for building the infrastructure backbone of the conscious home, along with product-specific services that enable end-user features. You will design highly reliable systems within our distributed environment. You’ll be responsible for millions of people living better lives through thoughtful things.
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 high quality, highly available systems within Nest’s service-oriented architecture
- Write clear, maintainable and performant code
- Participate in projects including 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, Technical Operations and Release Engineering
- Bachelor’s degree in a technical field or equivalent practical experience
- 5 years of experienceworking with one or more programming languages such as: Java, C/C++, or Python
- 5 years of backend software development experience
- Master’s degree in a technical field or equivalent practical experience
- 7 years of experience building high quality distributed systems or backend services
- Experience with large systems software design and development, with extensive knowledge of Unix/Linux
- Working knowledge of container technologies (such as Kubernetes, Docker), services, and API models (like Swagger, OpenAPI)