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.
Google is and always will be an engineering company. We hire people with a broad set of technical skills who are ready to take on some of technology's greatest challenges and make an impact on millions, if not billions, of users. At Google, engineers not only revolutionize search, they routinely work on massive scalability and storage solutions, large-scale applications and entirely new platforms for developers around the world. From Google Ads to Chrome, Android to YouTube, Social to Local, Google engineers are changing the world one technological achievement after another.
Bachelor's degree in Computer Science or a related technical field or equivalent practical experience.
1 year of relevant work experience in software development.
Professional coding experience in C++.
Experience in architecting and developing large-scale distributed systems.
Master's degree or PhD in Computer Science.
Experience with network programming.
Experience with performance optimization.
Experience with database internals, database language theories, database design, SQL and database programming.
Understanding of technologies such as virtualization and global infrastructure, load balancing, networking, massive data storage, Hadoop, MapReduce and security.
Build and develop our platforms, systems and infrastructure using your background in distributed systems and large-scale storage systems.
Manage individual projects priorities, deadlines and deliverables with your technical expertise.
Design, develop, test, deploy, maintain, and enhance software solutions.