Please complete your application before 24th September 2019. This internship is intended for students currently participating in the Waterloo Co-op program.
To start the application process, you will need an updated CV or resume and a current unofficial or official transcript in English. Click on the “Apply” button on this page and provide the required materials in the appropriate sections (PDFs preferred):
1. In the “Resume Section:” attach an updated CV or resume.
2. In the “Education Section:” attach a current or recent unofficial or official transcript in English.
Under “Degree Status,” select “Now attending” to upload a transcript.
Note: By applying to this position your application is automatically submitted to the following locations: Mountain View, CA, USA; Cambridge, MA, USA; Irvine, CA, USA; Kirkland, WA, USA; Los Angeles, CA, USA; New York, NY, USA; Palo Alto, CA, USA; San Bruno, CA, USA; Seattle, WA, USA; San Francisco, CA, USA; Sunnyvale, CA, USA
Currently enrolled in a Bachelor's degree program in Computer Science or related technical field.
Experience with Data Structures or Algorithms gathered from: completing a data structures or algorithms class, coursework, projects, research, internships, or other practical experience inside or outside of school or work (including open source hobby coding).
Experience in Software Development and coding in a general purpose programming language.
Currently participating in the University of Waterloo co-op program.
Master's degree in Computer Science or related technical field.
Returning to a degree program after completion of the internship.
Experience working with some of the following: web application development, Unix/Linux environments, mobile application development, distributed and parallel systems, machine learning, information retrieval, natural language processing, networking, developing large software systems, and/or security software development.
Excellent communication skills, with the ability to speak and write in English.
About the job
Join us for a unique 12-14 week paid internship that offers personal and professional development, executive speaker series, and community-building. This program will give you an opportunity to work on complex computer science solutions, develop scalable, distributed software systems and also collaborate on multitudes of smaller projects that have universal appeal - which requires research, awareness, interactivity, and asking questions. From Google Ads to Chrome, Android to YouTube, Social to Local, Google engineers are changing the world one technological achievement after another. We focus on being a collaborative, global organization consisting of engineers who are ready to take on some of technology's greatest challenges and make an impact on users. As a Software Engineering Intern, you will work on our core products and services as well as those who support critical functions of our engineering operations. Depending on your background and experience, you will be working in one of the following areas:
Product and Systems Development
Whether it's finding new and innovative ways to advance search quality, building computing platform and networking technologies, automating the indexing of videos, or continuing to refine and scale complex auction systems (just to name a few), you will be developing solutions to some of the most challenging technical problems out there. You will research, conceive and develop software applications to extend and improve on Google's product offerings and collaborate on scalability issues involving access to massive amounts of data and information. Examples of specialist domains: UI development with AJAX and similar technologies, security, embedded systems and mobile apps (Android), developer tools (IDEs, large-scale build systems, compilers).
You will use your software design, analysis and programming skills to create innovative automated test systems. The test team undertakes a broad range of challenges on a daily basis, designing and building intelligent systems that can explore various use cases and scenarios for distributed computing infrastructure. Just imagine trying to design and build an automated testing system for something that's never been done before.
Site Reliability Teams are involved in every facet of Google's production and work on the cutting edge of cloud-based computing. As a member of this team you are in the thick of everything involved with keeping Google running, from code-level troubleshooting of traffic anomalies to maintenance of our most cutting-edge services; from monitoring and alerts to building new automation infrastructure. Software engineers on this team love to create robust and scalable software that scale to tens of millions of users. You will handle challenging, novel situations every day, and work with just about every other engineering and operations team to provide services and applications that are quintessentially Google - fast, reliable and accessible to all.
Apply knowledge gained in computer science courses to real-world problems.
Analyze information and evaluate results to choose the best solution to effectively solve problems.
Develop scripts to automate routine tasks.
Create and support a productive and innovative team, which includes working with peers, managers, and teams.
At Google, we don’t just accept difference—we celebrate it, we support it, and we thrive on it for the benefit of our employees, our products and our community. Google is proud to be an equal opportunity workplace and is an affirmative action employer. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. See also Google's EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know by completing this form.