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 aspires to be an organization that reflects the globally diverse audience that our products and technology serve.
We believe that in addition to hiring the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services.
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.
Help build a team and cultivate innovation by driving cross-collaboration and execution of projects across multiple teams.
Lead designs of major software components, systems, and features.
Design, develop, test, deploy, maintain and improve the software.
Manage individual projects priorities, deadlines and deliverables with your technical expertise.
Mentor and train other team members on design techniques, and coding standards.
Minimum qualifications :
Bachelor's degree in Computer Science, similar technical field of study, or equivalent practical experience.
8 years of relevant work experience in software development.
Experience architecting and developing distributed systems design.
Preferred qualifications :
Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
Hands on technical leadership experience leading project teams and setting technical direction.
Experience architecting and developing solutions to ambiguous problems with significant impact.
Demonstrated expertise working with one or more of the following : Infrastructure, Machine Learning, Mobile Application Development, Embedded Systems, Front End Development, Security and Privacy.
Interest and ability to learn other coding languages.