Intern form glossary
Areas
Coding: People who have expertise coding in a work domain feel comfortable taking a design specification and translating it into code. They will spend most of their time building software. We'll be looking for people who:
have familiarity with basic syntax of one or more major languages used in the domain
are comfortable with language idioms
can translate solution idea into concrete code
produce clean and understandable code
are able to read and understand code written by others
can find and fix bugs in code and figure out how to test whether code is correct
Design: People with design expertise in a domain already have a firm understanding and extensive experience in implementing solutions within that domain. They will leverage their domain expertise, often collaborating with others, to define and document a comprehensive solution proposal. We'll be looking for people who:
have significant expertise implementing solutions in the domain
are comfortable with solution requirements and interface specifications
can translate problem descriptions into well documented solution requirements
produce clear and understandable design documents
are able to read and understand design documents written by others
can identify implementation aspects that deviate from the design and provide guidance to bring it into alignment
Open-ended research: People with expertise in open-ended research in a work domain are able to take a high level abstract problem statement and develop, document and test a hypothesis to validate their approach. We'll be looking for people who:
have good familiarity with prior work in the domain
are able to find, read and understand leading edge research in the domain and it’s surroundings
are comfortable with abstractions and loose specifications
can translate abstract descriptions into concrete problem statements
produce clear and understandable arguments supporting their research direction
are able to propose and prototype experiments and solutions for testing their hypotheses
Infrastructure software engineering: SREs are involved in every facet of Google's production and work on the cutting edge of cloud-based computing. This elite team combines software development, networking, and systems engineering expertise to build and run large scale, massively distributed, fault-tolerant software systems and infrastructure. We’ll be looking for people who:
have familiarity with Python
have familiarity with unix/linux internals
understand and can work with machine resources and limits
understand basic client server protocols
can script in at least one language
are able to grapple with administration and troubleshooting issues spanning very large numbers of machines
Verification and test: Our teams focus on automation, tooling, optimization and analysis of our products during build, test, release and life in production. This role takes strong algorithm skills and coding ability with an enthusiasm and motivation for increasing both software quality, agility and iteration speed. We'll be looking for people who:
can accelerate the delivery and improve the quality of products
will be responsible for designing and implementing build and test infrastructure
can analyze key signals to determine coverage and quality gaps
can create new test harnesses and implement new automation tools
can explore and validate the functional correctness, performance capabilities, and resource usage of our software
can utilize infrastructure and analysis to optimize builds, compress release time, and improve production monitoring and quality
Computer Science disciplines
Accessibility: Google is committed to making the world’s information accessible and usable to all users and making accessibility a core consideration from the earliest stages of product design through release.
Algorithms and theory: Algorithms are the computer processes and formulas that take your questions and turn them into answers. Google’s mission presents many exciting algorithmic and optimization challenges across different product areas including Search, Ads and Google Product Infrastructure.
Back end: The system-level support that is unseen by the client user but provides the Web server, database and external services to help create the interfaces that are available to the client user.
Compilers/language tools: A compiler is a program that translates a piece of text written in a programming language to binary, which can then be executed by a computer. The translation process is done by the compiler and a set of associated tools like the assembler, linker and loader, which help convert the original code into something that can be executed by the computer.
Computer Architecture: Specification detailing how a set of software and hardware technology standards interact to form a computer system or platform, including how that computer system is designed and what technologies it is compatible with.
Computer vision: Computer Vision is a field that includes methods for acquiring, processing, analyzing and understanding images and, in general, high-dimensional data, from the real world in order to produce numerical or symbolic information. Computer vision work is essential to Google's mission and distributed across many different teams.
Cybersecurity: The practice of protecting computer systems, networks, and data from unauthorized access, use, disclosure, disruption, modification, or destruction. It encompasses a range of technologies, processes, and practices designed to safeguard sensitive information and ensure the confidentiality, integrity, and availability of digital assets.
Data management: Google couldn’t organize the world’s information and make it universally accessible and useful without a number of key teams who take care of our own information--from the inside out. Data Management is the development and execution of architectures, policies, practices and procedures that properly manage the full data lifecycle needs of an enterprise. Our Corporate Engineering team provides the technology that makes Google great--writing software applications, developing video conferencing solutions and open-sourcing desktop platform management tools. We also have teams who keep our information secure, who integrate our systems, administer our databases and even managed to map the globe. We rely on these teams for making information accessible and building solutions at scale.
Data mining: Data mining is the process of automatically discovering useful information in large data repositories. At Google, much of our work on our primary products like search and ads relies on large-scale data mining. Data mining applications arise in several specific projects including speech processing, machine translation, and visual processing.
Deep learning: A subset of machine learning in artificial intelligence that has networks which are capable of learning unsupervised from data that is unstructured or unlabeled.
Distributed systems and parallel computing: No matter how powerful individual computers become, there are still reasons to harness the power of multiple computational units, often spread across large geographic areas. Sometimes this is motivated by the need to collect data from widely dispersed locations (e.g., web pages from servers, or sensors for weather or traffic). Other times it is motivated by the need to perform enormous computations that simply cannot be done by a single CPU. These are the primary motivations for the fields of distributed systems and parallel computing, respectively, though the two motivations often arise together.
Economics and electronic commerce: Google runs several kinds of repeated online auctions at a very large scale, and enables a market with millions of advertisers and users. This market presents a unique opportunity to test and refine economic principles as applied to a very large number of interacting, self-interested parties with a myriad of objectives.
Education: Proposals in the Education Innovation area include innovative uses cloud- or mobile-based applications in an educational context, educational technology (which is any technology that supports teaching and learning) and curriculum in computer science education. The focus is on practical projects that produce tangible results.
Front end: The user interface that appears on a Web page and allows a visitor to the site to interact with dynamic features, including databases, shopping cart programs, and online purchase processing software.
Graphics: Methods for digitally synthesizing and manipulating visual content. Can include visualization, advanced rendering techniques, vision or stereo reconstruction, three dimensional modeling, and computer animation among other topics.
Hardware and architecture: For the last decade Google has been pioneering new technologies in this field and putting it in practice by providing Google's software engineers with a unique computing infrastructure in terms of scale, cost-efficiency, energy-efficiency and speed. The tight collaboration among software, hardware, mechanical, electrical, environmental, thermal and civil engineers result in some of the most impressive and efficient computers in the world. In addition, our Consumer Hardware team researches, designs, and develops new technologies and hardware to make users’ interaction with computing faster, more powerful, and seamless.
Human-computer interaction and visualization: HCI is the study of how humans interact with computers, and how to design computer systems that are easy, quick and productive for humans to use. Google’s HCI researchers invent, design, build and trial large-scale interactive systems in the real world, typically exploring areas where products and features may not yet exist. We declare success only when we positively impact our users and user communities, often through new and improved Google products.
Information retrieval: The science surrounding search engines is commonly referred to as information retrieval, in which algorithmic principles are developed to match user interests to the best documents about those interests. In continuing to enhance and refine the world's foremost search engine, we constantly incorporate knowledge from our studies of the web, as well as basic research into the structure of documents and their relationships to queries.
Infrastructure/ systems programming: Google has one of the largest and most powerful computing infrastructures in the world. The distributed computing system that manages Google’s physical resources supports all of Google’s major applications and services. Infrastructure teams makes sure the data for all of Google's products is stored safely and securely, ready to access quickly when needed.
Machine Learning and artificial intelligence: Much of Google's work on language, speech, translation and visual processing relies on Machine Learning and AI. In all of those tasks and many others, we gather large volumes of direct or indirect evidence of relationships of interest, and we apply learning algorithms to generalize from that evidence to new cases of interest.
Machine perception: Most of the world's data is in the form of media (images, sounds/music, and videos) -- media that work directly with the human perceptual senses of vision and hearing. To organize and index these media, we give our machines corresponding perception capabilities: we let our computers look at the images and videos, and listen to the soundtracks and music, and build descriptions of their perceptions. Our approach is data-driven, using large datasets on parallel computing clusters to directly solve the problems at the target scale. Our ability to mine meaningful information from multimedia positively influences several Google products, including YouTube, Google Music, Android, Google Image Search, StreetView, Google Earth, and more.
Machine translation: Machine Translation is a great example of how cutting edge research and world class infrastructure come together at Google. We focus our efforts towards developing statistical translation techniques that improve with more data and generalize well to new languages.
Mobile systems: Google is committed to realizing the potential of the mobile web to transform how people interact with computing technology. Google engineers and researchers work on a wide range of problems in mobile computing and networking, including new operating systems and programming platforms (such as Android and ChromeOS); new interaction paradigms between people and devices; advanced wireless communications; and optimizing the web for mobile settings. In addition, many of Google’s core product teams, such as Search, Gmail, and Maps, have groups focused on optimizing the mobile experience, making it faster and more seamless.
Natural language processing: Most NLP applications such as information extraction, machine translation, sentiment analysis and question answering, require both syntactic and semantic analysis at various levels. Traditionally, NLP research has focused on developing algorithms that are either language-specific and/or perform well only on closed-domain text. At Google, we work on solving these problems in multiple languages at web-scale by leveraging the massive amounts of unlabeled data on the Web. We support a number of Google products such as web search and search advertising.
Networks: Google has been a leader in Software Defined Networking, helping drive innovation through novel approaches to building and operating networks. Google’s research efforts in this space combine developing standards that provide a foundation for a broad range of solutions to be explored with producing examples of specific solutions that illustrate the practical value of the SDN approach to networking.
Operating systems and kernels: The production Linux kernel team is responsible for achieving both maximum performance and utilization out of our servers. We enable our application developers to write code that answers user queries in microseconds and also helps to manage the exabytes of data in the fleet.
Robotics: An intersection of mechanical engineering, electrical engineering, electronic engineering and computer science that deals with the design, construction, operation, and application of robots, as well as computer systems for their control, sensory feedback, and information processing.
Security / cryptography / privacy: Google has crafted a world-leading privacy program unlike that of any other company in its scope, flexibility, scalability and velocity. Our objective is to exceed our user’s privacy expectations and ensure their trust is well-placed with Google. We also hope that through this Privacy Program, Google can encourage the entire industry to engage in better privacy practices by demonstrating that innovation and user privacy go hand-in-hand.
Signal processing: Enabling technology that encompasses the fundamental theory, applications, algorithms, and implementations of processing or transferring information contained in many different physical, symbolic, or abstract formats broadly designated as signals.
Software systems: At Google our products require computer systems technology at a scale previously unknown to the industry. At the heart of our business model is an insatiable appetite for compute power. We grow and improve our business by innovating across a spectrum of applied research topics.
Speech processing: Our goal in Speech Technology Research is twofold: to make speaking to your phones and computers ubiquitous and seamless, and to help make videos on the web accessible and searchable.
Statistics: The science that deals with the collection, classification, analysis and interpretation of numerical facts or data, and that, by the use of mathematical theories of probability, imposes order and regularity on aggregates of more or less disparate elements. Many of our groups are looking for candidates with a strong mathematical or statistical background, particularly projects working with large sets of data.
TensorFlow: An end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications.
UX/UI: At the top of Google's core principles is: "Focus on the user and all else will follow." So, it’s no surprise that we share the same passion for innovation and excellence in design as we do in engineering. We believe each Google product should have an intuitive, simple and beautiful design that delights users each time they visit—regardless of whether they use a desktop computer, mobile device or other hardware.
Web applications/ web programming: A web application is a client-server software application in which the client (or user interface) runs in a web browser. Web programming requires interdisciplinary knowledge on the application area, client and server scripting, and database technology.
Hardware roles
ASIC Hardware/Software Engineering - ASIC-related hardware or software teams build and program our custom-designed chips that enable amazing features in our future consumer devices.
Electrical Hardware Engineering - In order to design, develop and deploy next generation consumer hardware, it's important to lay out hardware board design and the system architecture for mobile products. Electrical Hardware Engineers define board layout constraints and requirements. They oversee physical engineering design layout as they work cross functionally with mechanical design, operation, and product teams to deliver systems to production.
Hardware Test Engineering - Through the process of designing test equipment for prototypes of our machinery and developing the protocols used to scale this equipment we ensure Google's cutting-edge equipment is reliable. Hardware Test Engineers give input on designs to improve our hardware to meet Google's standards of quality and reliability.
Silicon Engineering - Silicon is the foundation for generations of chips and electronics innovations. Measuring and optimizing performance of silicon enables consistent and compelling use-cases that can develop high performance hardware for Google’s continuous innovations.