Join a unique 12-14 week paid internship that offers personal and professional development, an executive speaker series, and community-building. This program will give applicants an opportunity to work on complex computer science solutions, to develop scalable, distributed software systems, and also to collaborate on multitudes of smaller projects that have universal appeal – which requires research, awareness, interactivity, and the ability to ask the right questions.
Depending on applicants background and experience, they 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), applicants will be developing solutions to some of the most technical challenges out there. Applicants 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 include: UI development with AJAX and similar technologies, security, embedded systems and mobile apps (Android), developer tools (IDEs, large-scale build systems, compilers).
- Engineering Productivity: As a Software Engineer in the Engineering Productivity organization, applicants 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: Software Engineers working in Site Reliability 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, applicants are in the thick of everything involved with keeping Google running, from code-level troubleshooting of traffic anomalies to maintenance of Google’s 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 scales to tens of millions of users. Applicants 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.
Qualifications
Minimum qualifications:
- Currently pursuing a PhD degree in Computer Science or in a related technical field.
- Programming experience in one or more of the following: C/C++, Java or Python.
Preferred qualifications:
- Returning to a degree program after the completion of the internship.
- Implementation skills with one or more general purpose programming languages, including but not limited to: Java, C/C++, C#, Objective C, Python, JavaScript and/or Go.
- Research experience in the following areas; Algorithms, Architecture, Artificial Intelligence, Compilers, Database, Data Mining, Distributed Systems, Machine Learning, Networking and/or Systems.
- Demonstrated background in computer science, with competencies in data structures, algorithms and software design.