Software engineering
Google’s software engineers develop the next-generation technologies for which we’ve become world-renowned. In addition to revolutionizing search technology, we use our world-class programming skills to innovate in a number of other areas as well. Our projects include working on advanced information-retrieval algorithms, massive scalability and storage solutions, and large-scale applications that enrich the user experience. We also work extensively on networking systems, advertising systems, and complex transaction systems in consumer applications.
We try to hire software engineers with a broad set of skills. Although you'll apply for jobs from one or more of the focus areas below, people can and do move from focus area to focus area over time after they are hired, if they desire.
The engineer’s life at Google | Why work at Google
Focus area descriptions
Click on the descriptions of our Software Engineering focus areas below for more detailed information.
Advertising and payment systems
Adwords, Adsense, content analysis, Spam/ClickFraud, advertising ranking and auction algorithms …
The Advertising & Payment Systems team is in charge of building the innovative systems that run Google’s rapidly growing advertising business. As part of this team, you will build web-based applications and automated solutions to make Google’s Sales and Operations more productive, scalable, profitable, and responsive to customer needs. You'll troubleshoot complex production issues, supporting high-volume transaction processing systems, continuously improving processes, and leading software development within an environment that demands high security and availability. Projects in this area include Corporate Engineering, Revenue & Reporting systems, AdWords, AdSense, and Checkout.
Consumer and Enterprise applications
Gmail/Calendar, Google Docs, Orkut, Blogger, Toolbar, user interface applications, Desktop Search, Mobile, Mac/Windows client applications, Maps/Earth …
The Consumer & Enterprise team builds products for small and large businesses, educational institutions, and government agencies. As a Consumer and Enterprise engineer, you will help deliver Google’s intranet search technology to global enterprises, including Fortune 500 companies. You'll work on the unique challenges involved in building the system infrastructure for our Enterprise Search Appliance.
Core search and search products
Ranking algorithms, crawl and indexing, pipeline infrastructure, News, Image Search, Google Base, Google Print/Books …
The search group works to continuously improve the overall Google.com search experience. This team contributes to most aspects of the search engine, from crawling the web to ranking, engineering, and internationalizing the interface for search features, maintaining excellent search precision, and measuring user happiness. As a core search and product engineer, you will help make Google search more comprehensive by accessing an increasingly diverse range of content. You'll also help to provide a rich, engaging experience for users. Projects within Search include core search algorithms, international search quality, infrastructure, spam fighting, personalization, and user search evaluation.
Developer tools
Google Web Tool Kit, open source, public APIs, build systems, source control systems, compiler toolchain, Android …
As an engineer in Developer Tools, you'll contribute to our growing Developer Support team by interacting with and supporting third-party developers while also collaborating with Google’s Product Engineering team. You’re a driven team player with strong web application development skills who loves troubleshooting challenging coding issues and participating in developer communities. In this position, you'll use our various APIs and other developer products such as the Google Web Toolkit.
Engineering productivity and testing
Large-scale distributed systems, parallel computing, algorithms and data structures, fault tolerance, developing infrastructure and tools, machine learning …
The Engineering Productivity and Test organization focuses on improving the quality of a broad range of Google products by designing and implementing advanced, automated test suites to exercise our world-class applications. As a Software Engineer in Test, you will research emerging technologies while also training and mentoring other team members. You will be part of an Engineering team that is working on problems in a number of areas, including caching optimizations, content delivery, network protocols, and machine learning. You will work with C/C++, Java, JS, Python and number of other programming and scripting languages to build complex test infrastructure for our wide array of distributed computing systems and architecture that span Search, Mobile, Ads, Google Apps, etc. With your diverse software engineering skills, your responsibilities may also include aspects of project management, release engineering, task delegation, team coordination, and production monitoring.
Google.com site reliability engineering
Production engineering, design, performance, monitoring, and service operations …
Google Site Reliability Engineering (SRE) consists of software and systems engineers worldwide who specialize in troubleshooting, tools development, and production systems automation. As a Site Reliability Engineer, you will consult with software engineering teams during the development cycle to help developers understand and comply with our architectural guidelines for reliability, speed, and scalability. You will help manage ongoing capacity planning to handle Google’s rapid traffic growth and global expansion. You will also partner with software engineering teams during the launch, deployment, and maintenance of new products and services. With your depth knowledge of optimization, traffic load balancing, and system enhancements, you will be there to manage and maintain services, ensuring their reliability and availability for hundreds of millions of users worldwide.
Research
Natural language processing, speech, vision, machine learning, algorithm development …
Members of the Research group perform cutting-edge research across a wide range of computer science areas working with other researchers and with other members of our engineering organization. As part of the Research team, you will work with other experts from across the company in areas such as artificial intelligence, information retrieval, machine translation, speech recognition, economic modeling, system design, search and more. You'll also contribute to open-source software projects, publishing results in top journals and conferences.
Systems and networking infrastructure
Distributed systems, OS/kernel network system design, large scale storage systems, video processing systems …
As an engineer in Systems and Networking Infrastructure, you will design, build, test, and optimize custom computing platforms. You will work on projects involving next-generation networking systems and architecture, and you will help us meet the challenge of building highly scalable, fault-tolerant, and distributed systems infrastructure. Projects you could contribute to include Google File Systems, Bigtable, MapReduce and data processing and query serving systems for YouTube, Ads, Picasa, Blogger, and other Google properties.
YouTube and video processing
Video processing systems, video applications and more at either Google or YouTube …
Software engineers at YouTube work on projects and site features that create value for advertisers, partners, and users while directly generating revenue for YouTube. You will write server-side code for web-based applications for both internal and external use, using your well-rounded development skills, your ability to create robust, high-volume production applications, and your skill in developing prototypes rapidly. Projects you could contribute to include advanced information-retrieval algorithms, massive scalability and storage solutions, and large-scale applications that enrich the user experience, along with complex advertising and transaction systems in consumer applications.
Jobs