Applications are due by 30th April 2020.
Our team will review applications on a rolling basis and it’s in your best interests to apply early. Thank you for your patience while we consider your application.
Software Engineering Interns at Google are researchers and developers who yearn to create and implement complex computer science solutions. Our engineers develop massively scalable, distributed software systems and also collaborate on multitudes of smaller projects that have universal appeal - this requires research, awareness, interactivity and the ability to ask the right questions. You'll develop strong competencies in data structures and algorithms, along with a technical fascination for how stuff fits together. You'll also have a solid foundation in computer science, allowing you to come up with new ideas, as well as to strive for a deep understanding of our products and services in order to continually improve upon them. We focus on being a collaborative, global organization consisting of engineers with the highest levels of technical depth, programming skills, and a keen eye for quality.
In this role, you will work on our core products and services as well as those which 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 platforms. nologies, automating the indexing of videos, or continuing to refine and scale complex auction systems, 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.
Engineering Productivity:
As a Software Engineer in the Engineering Productivity organization, you'll use your software design, analysis and programming skills to create innovative automated test systems. This isn't a job in which you'll simply debug and run test cases, in fact that only scratches the surface. 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.
Responsibilities:
Specific responsibilities vary by project area.
Minimum Qualifications:
Currently pursuing BS, MS or PhD in Computer Science, or a related technical field, at a university.
Must be currently enrolled in a full-time degree program and returning to the program after the completion of the internship.
Preferred qualifications:
Experience in systems software or algorithms.
Experience with one or more general purpose programming languages, including but not limited to:. jective C, Python, JavaScript, or Go.
Knowledge of Unix/Linux or Windows & APIs.