Google Internships: Zurich, London, and Silicon Valley

For three years in a row, I spent the summer on internships at Google: first in Zurich, then in London, and finally in Sunnyvale (a city in the state of California, USA). In this post, I will share how to apply and interview, what projects I did and how internships in Europe differed from the USA. I’ll also tell you what I liked about Zurich more than Silicon Valley, where lunch and parties are better, and why I have decided to stay in Russia for now.




About myself


My name is Alina, I am a 4th year student of the bachelor's program at the Higher School of Economics - St. Petersburg in the field of “Applied Mathematics and Computer Science”. I started programming in the 8th grade, enrolling in St. Petersburg Physics and Mathematics Lyceum No. 30. In high school I attended programming circles, repeatedly went to the Summer Computer School (the last time as a teacher) and participated in training camps for participants in the olympiads.

After school, I entered the Academic University, then moved to the St. Petersburg HSE. For the first two years, she studied basic mathematical disciplines, such as mathematical analysis, discrete mathematics and linear algebra, various paradigms and programming languages ​​(C ++, Java, Python, Haskell), gained practical experience in internships, and then chose the direction of “Machine training ”and now I study it to a greater extent.

Google STEP Internship Program


The first time I applied for an internship at Google back in the fall of my first year, when I learned about the STEP program. STEP provides internship opportunities for students of 1-2 courses who do not have sufficient practical experience in development, but are passionate about Computer Science. There are also Google’s classic internships for undergraduate, graduate, and graduate students, but it’s considered more difficult to get into, as more serious experience is required. 

On the STEP websiteyou can see the phrase that this program, inter alia, is “aimed at providing development opportunities to students from groups historically underrepresented in the field of technology”. Although this gives more chances to certain groups of people, it often creates difficulties when applying for students from the remaining groups. Therefore, in some cases, getting a regular internship, not STEP, may be more realistic. In fact, even 1st-2nd year students have good chances to get there.

There are two main ways to apply: through careers.google.comand through any Google employee. The second option is more effective and working, since in this case a Google employee is usually familiar with the candidate personally, therefore, he can be responsible for his skills and qualifications. I used the second method, asking my friend to recommend me through the internal service (“refrain”) to the position of STEP trainee in Europe.

Applying and interviewing


It is worth noting that in general, the process of passing to Google is not deterministic. Unfortunately, there is no special recipe, following which it would be guaranteed to get an internship. It often happened that my friends with similar experience and, accordingly, with similar resumes received completely different verdicts from recruiters. And it happened that they refused even after the perfectly decided contest when applying for an internship in Google USA (the process of going to American Google will be described below). Nevertheless, you can maximize your chances by correctly writing a resume and preparing for an interview.

When applying for my first internship in a resume, I could only indicate experience and success in sports programming: training and teaching at the Summer Computer School, as well as prize-winning at the All-Russian and several other computer science olympiads. This was enough to get to the next stage — technical interviews. The recruiter appointed me two interviews, at each of which it was proposed to solve more or less standard tasks on classical topics (it seems that they included binary search, lines, graphs and data structures). I was not very active in preparing for the interviews, since at that time a strong course of algorithms from Seryozha Kopeliovich was taught at our university (the gold medalist of international computer science olympiads). But to feel more confident, I still solved a dozen tasks on the LeetCode website (leetcode.com ) and asked a friend to give me a so-called mock interview .

Mock interview
Mock interview () . , : , , ; Hangouts 45 , ( ). , ( pramp.com).

According to the results of the first two interviews, a third one is sometimes appointed to clarify the candidate’s abilities. This is a normal situation as part of the selection process, and you should not worry about this. I felt that the tasks that I came across were not very difficult - the main thing was to reason aloud and to voice all emerging thoughts and ideas , since the ability to reason and think in the right direction was also evaluated.

Project selection


The technical interview stage is followed by the project selection stage. Projects and locations for internships are selected on the basis of a questionnaire filled out by the candidate, in which you need to describe your experience in more detail, talk about your preferred programming areas and select several cities in which you would like to internship. Although Google consists of a huge number of teams, it is not always possible to find a project that meets abilities and interests, therefore it is better to indicate more extensive areas of interest. Each project has a manager (or, as it is usually called, a host) who will oversee the intern, give tasks and ultimately evaluate the work done. 

The project selection system is organized as follows: each host scans the list of candidates and selects those who, in his opinion, are best suited for the project, after which he calls up with a potential candidate by video or telephone. At the same time, the candidate for this time is “blocked” and removed from the general list - that is, a person cannot be considered for several projects at the same time, so it is better not to delay the decision. The process of selecting projects lasts about 8 weeks. If nothing has been found during this time, the process usually ends and the candidate is left without an internship.

For me, the project was found the first time. We phoned the host, he talked about the project (from the story I understood only half), and then I asked some clarifying questions. It is believed that you need to actively show interest and enthusiasm during a call. And, importantly, do not forget about the feedback and be sure to write to the recruiter about whether you liked the project, whether it corresponds to your knowledge and experience. This is usually not mentioned anywhere, but the experience of my friends shows that if you do not give feedback, it will be considered that you reject the project.

Google zurich


What I did at Google Zurich


I took my first internship in Zurich. 
It is worth noting that citizens of countries outside the European Economic Area (for example, Russians) can take an internship in Zurich no more than once in the framework of obtaining the same academic degree. That is, a bachelor who completed an internship in Zurich will be able to take it the next time only as a master.

I got into the Search Infrastructure team, which is developing a system to debug the search process. This includes collecting some statistics and metrics for each URL, tracking the various components of the search engine, and displaying all this information on the web page for the developers of the search engine itself. 
My task was to introduce a block into the web page with debugging information and various metrics for one of the search components. To do this, it was necessary to automatically record the necessary events in the database, as well as create a pipeline to transfer the necessary information from the database to the client side. It was then that I learned about such fundamental things that Google regularly uses, such as Protocol Buffers (protocol for serializing data), pub / sub (a messaging service between independent applications) and BigTable (the most famous Google database). 

STEP internship involves working in pairs, and I worked with a partner from Romania. At first, we worked together on the same computer, but by the middle of the internship, this confused me: after all, interns were evaluated separately, and other STEP interns worked separately. I talked about this with the host in a personal meeting, after which we were already given independent tasks, and we worked on separate computers. I was engaged in the back-end part of the project, and my partner - in the front-end part.

Interaction with the host (or rather, with two: the second host is assigned as a person who can be contacted if the main host is busy, and who also evaluates the intern at the end of the internship) was arranged in a natural way: first, the host tells the context and explains the task, and then we proceed with its implementation, asking questions along the way. All team members are ready to help in any strange situation.
At this internship, I also learned how to work with internal tools for developers, which later helped me a lot and realized how the work in a large company works.

The language barrier


At first it was very difficult for me morally: after all, it was my first experience of real communication in English. Although I studied English at school and in my first year, I used it only in the classroom. I remember how on the first working day I almost burst into tears over coffee with the host and partner when I realized that I only catch keywords in the conversation and had difficulty expressing my thoughts, while my partner easily supported the conversation. 

By the way, to conduct a technical interview from this point of view was not difficult, since dry technical English was used there, and I knew all the necessary terms regarding data structures and algorithms. For the same reason, during the internship it was not difficult to talk about the project, which could not be said about informal conversations at dinner. Nevertheless, with time you master, accept the fact that mistakes are normal, and you feel much more confident. By the way, for the most daring, Google has a special service for making appointments for casual employees, so you can have lunch with a new person every week, pulling up your language.

Working conditions


Google really is what they say about it: in addition to a cozy and convenient workspace, each office has entertainment rooms (ping-pong, video games, kicker), a music room, a gym, a dining room with three meals a day, small kitchens with drinks and snacks on each floor , places for rest and sleep. In the dining room they fed tasty and varied: every week, cooks prepared dishes from one of the world's cuisines (once there was even a Russian one).






(The most popular user requests at the moment are displayed here)

The start time of the working day is not strictly established, and employees come at different times, but usually by 12 noon everyone is already at work. It is recommended to work 8 hours a day, but at any time you can break away from the process and drink coffee, attend a massage or go to a yoga lesson right in the office. This allows you to relax and unwind after busy hours of work.

Life in Zurich


Zurich fascinated me, as did Switzerland as a whole. Before that, I had never been in the mountains, so the first hikes in the Swiss Alps impressed me incredibly. Most of the photos I got from the first internship :)



Zurich itself is a very calm city. Some people think that it’s too much. But I rather liked it, because throughout my stay I felt completely safe and walked without fear, even at a later time. The city feels like a small one: by the third month of the internship I had already bypassed almost all the interesting places and learned the central part by heart, so it was hard to choose places for walking.

In Zurich, as in all of Switzerland, the transport system is well established. From anywhere in the city you can get to another by clean and comfortable trams, and inside the country you can comfortably travel by train, admiring the beautiful views of mountains and lakes.

It is impossible not to mention that Switzerland is quite expensive. Therefore, it is better to try not to translate prices into rubles. Nevertheless, everything is offset by a good salary: at Google Zurich, it is considered the highest among Google offices in Europe.

Unfortunately, Google does not directly search for housing for interns, but associates with a special company that specializes in this. In addition to this, Google pays a special one-time bonus (relocation bonus), equal to about two salaries, which is supposed to be spent just for various life needs: housing, city transport.

The most optimal housing option in Zurich, which I found out about and used myself, is the sublease of the dormitory room through the woko.ch website . I paid 545 francs per month for rent, which is much cheaper than the average price in the city. True, such a lease is possible only in July and August (when actual student tenants leave the hostel for the summer). In September, I had to look for other housing (I searched on airbnb.com)

Combining with studies


Perhaps it’s worth a little talk about how I combined my studies and work in September. It seemed impossible, but I almost succeeded. As soon as classes began, I tried to keep abreast of what was happening and to understand new material, since all the lectures on our course were filmed on video. However, I immediately realized that I didn’t have time to watch all the video lectures and take homework on time, so I began to agree with teachers about a delay of a week. Many - but not all - went forward. At the same time, I still had to sit over homework until 3 nights and the whole weekend. So, perhaps, it will be more convenient for someone to agree on the completion of homework after the internship. In any case, it is most likely necessary to agree with teachers, and it is better to do this in advance.

Google london


My project with Google Play at the London office of Google


The following summer, I again went on an internship at Google. This can be done without additional interviews, if at the last internship get good reviews from both hosts. The work performed by the trainee and host reviews are considered by the hiring committee within a month after the internship, and if everything is fine (and this usually becomes clear after talking with the host at the end of the internship), then you just need to fill out the familiar questionnaire indicating preferences, and begins project selection stage.

This time I chose London. The team in which I interned is part of the larger Google Play team and is working on the Google Play Console, a special tool for application developers that not only publishes applications on Google Play, but also improves their quality by collecting statistics and various metrics, analysis crashes, testing, advanced analysis of user reviews and more. 

The goal of my project was to create a prototype system for displaying metrics (for example, the number of downloads, deletions, or application crashes) in real time. The problem that needed to be solved was that before the delay time between the event that occurred and the metric update was from several hours to several days. For everything to happen in real-time, it was necessary to reduce this time to a few seconds. This would allow teams that write applications for Google Play to constantly broadcast on the big screen graphics with such metrics in their offices and thus demonstrate the result of their work, motivating employees and raising the team’s overall spirit.

This time, the boundaries of the project were narrower: I practically did not need to study the team code, since I created a more or less independent prototype. Thanks to this fact and the experience of the first internship (many tools were already familiar), I quickly joined the work. I wrote the back-end part in Java, but while working on the front-end, I had to learn the new Dart language for me. Dart is an analogue of JavaScript created by Google in order to eliminate some of the shortcomings of JS. In general, learning and using a new language during an internship is a common practice, so you should definitely not be afraid of it or rejecting it because of this. For example, my friends learned Go or the same JavaScript.

In general, at the second internship, I felt many times more confident. I was no longer afraid to go to the micro-kitchen or relax during the working day, as it was the first time. I had a cool team: once the manager even organized a trip to the Zima restaurant of Russian cuisine, as the team had three Russian interns.

London office


The London office seemed to me the largest Google office I have ever seen. There are as many as 11 floors, two dining rooms, a gym, many places to sleep. On the top floor there is a large space for work and leisure, a kitchen for culinary master classes and much, much more.

Vivid events and parties were often held in the office. In principle, this is one of the main traditions of Google in Europe - the weekly event "TGIF" ("Thank Google it's Friday"), which takes place on Friday. Usually it is tied to some topic or event (Google's birthday, 80's party, Pride). It is also held in America, but, firstly, on Thursday (in order to broadcast it in Europe on Friday), and secondly, the main event there is informal public speeches by the founders, CEO or other Google employees. And usually the event is not so noisy.







Life in london


London is a much more lively city than Zurich. The streets are filled with a lot more people; Among them are many informals, active and creative people. The city is huge, so it is hardly possible to get around completely during the entire internship, and diverse, so walking on it is definitely not boring.

Public transport is also quite well developed: you can move around the city by metro, bus or train. Again, I first looked for housing on Airbnb, but in the end I found it through friends. And my friend had an unpleasant story related to housing: his landlord did not allow him to use a mailbox and threatened to throw out all incoming letters (and there are usually a lot of them). This was not obvious, although spelled out in the contract. So you need to consider these things and carefully read the contract when choosing a home.

Google california


Having visited internships in Europe twice, I thought: why not try to pass the same experience in America? Nevertheless, the company’s headquarters is located there, besides this is a great opportunity to live in the USA for 3 months.

During the entire process of applying for an internship in the United States, it seemed to me that I was very risky, and that at some point an unforeseen situation would occur, due to which nothing would work. The fact is that I often heard about the failures of acquaintances who wanted to get into the American office: someone did not manage to pick up a project, someone did not get a visa due to a specific topic of the project (according to rumors, this happens if the project is associated with security or machine learning), someone was sent to an administrative (additional) check, which lasts more than a month. Problems can indeed arise, and you need to be prepared for them.

Filing process


Immediately after the second internship, I wrote to the recruiter about my desire to look for a project in the US. Applying for an internship in Europe and applying for an internship in America are two independent processes that are carried out by different teams and which can be carried out in parallel. Moreover, with the successful completion of one internship, you can just as well apply to the second without technical interviews. But it turned out that the European could not directly connect me with the American recruiter, and I had to apply there through the site.

According to the experience of friends, getting into America is a little more difficult, especially without the experience of other internships at Google. If you go there for the first time, then before the stage of technical interviews you will need to solve the contest with simple tasks. However, the result is not guaranteed. My classmate was refused even after solving all the problems of the contest. The project selection process also seemed to me less likely to lead to success, since the waiting period for the next project was longer. I think this is due to the large number of applicants and greater competition due to the high level of training of candidates.

After submitting the application, they did not write to me for a long time. I had to constantly ping everyone I could, learning about the status of the application, until, finally, a recruiter from America contacted me. After filling out the preferences questionnaire, the search for projects began. The project, which eventually led to the offer, was found in mid-December in the town of Sunnyvale in California.

Getting a visa


This stage was quite stressful. Firstly, the visa process does not begin earlier than 8 weeks before the internship, but they contacted me only 5 weeks later, which is already quite late. It should be noted that in Russia, the US consulates (embassies) are currently located only in Moscow, Vladivostok and Yekaterinburg. I went to serve in Moscow.
In order to schedule an interview at the consulate, you had to go through many stages and book time. There was a huge risk of not having time to get a visa even before the start of the internship, not like before the planned departure to America.

My interview was scheduled for June 28, the internship began on July 8, and the tickets were purchased on July 4. Fortunately, the visa was ready on July 3, and on July 4 I was already flying from Moscow to the USA.

The only thing I can advise is to start this process as early as possible, take the initiative and don’t hesitate to fill out the necessary forms.

Internship in America


This time my team was part of a large Core team and was working on an infrastructure for processing personal data that respects the privacy policy. Using this infrastructure, user personal data is transferred between various Google services. For example, if you received a letter on Gmail with information about the purchased ticket, then the corresponding flight event can be automatically added to Google Calendar. Or if a user interacted with another user in Google Docs, then Gmail may offer him as a destination in the future.

My task was to write a system for A / B testing of this infrastructure, which will help in the future to make large-scale optimizations of its work. What I liked most about this internship was writing a lot of C ++ code and more complexity and responsibility. First, I had to spend at least a week reading a difficult command code, and then embed my code there. In past internships, the code containing the logic of work did not work very much, since it was necessary to work more with writing configurations for building pipelines, with Protocol Buffers and other small tasks, which in principle were independent of each other. And here I myself developed the architecture of the new system and made design decisions, consulting with the host. When I approached the host with a question, he,instead of providing a ready-made solution, he asked me: “How would you do it yourself?” And I liked on an equal footing to come up with and discuss with him possible solutions, their pros and cons. 

Although I had no problems with technical skills, the host strongly recommended developing communication skills and helping to work on them, since this is an equally important component of successful work within the team. Once he said: “In a week you have to ask a question to at least three people from the team,” and I had to think up questions to fulfill his task.

Offices in America


In America, instead of the usual separate self-sufficient offices, campuses were built from several buildings interconnected. It was not very convenient, since I worked in one building, dined in another, went to the gym in the third. The place where I worked, from the point of view of the interior, was somewhat more modest compared to European offices. There was practically no entertainment, and there was only one place to sleep. The food also did not seem to me very diverse: mainly spicy Indian cuisine prevailed. But it all depends on the campus. For example, I liked the most important campus in Sunnyvale in some ways even more than European offices: the design, the number of interesting places, and the variety of dining rooms were also impressive.

Some campuses had a pool and a volleyball court, but getting to them was difficult because of the poorly developed public transportation system in America. In principle, between campuses you can move on a special Google shuttle, but you need to adapt to his schedule, plus he finishes work at 7 pm. And also, as I learned later, there is the option of ordering a free taxi to move employees between campuses.

I could not meet Russian-speaking interns in my office, and at general events there were very few of them compared to Europe.

My office:





Mountain View:



Sunnyvale main campus:


           

Another Sunnyvale campus:



Life in California


California is the sunniest state in America. This can be considered a plus when you get tired of the gray sky of St. Petersburg, and a minus when you start to burn even in the shade. Sometimes the heat was so unbearable that it was hard to be on the street.

The easiest way to find housing is in the city of San Jose, which is considered the economic, cultural and political center of Silicon Valley. Actually, there I settled. When choosing a home in California, it is important to consider the distance to the office and think about how you will get to work (by scooter, bicycle, car or public transport). As already mentioned, the public transport system is very poorly developed in the United States, so everyone is trying to get their own car as soon as possible. Without it, an active and eventful life is impossible, you can generally forget about travel, and getting to work is extremely difficult. So the best option if you have a driver’s license is to either rent or buy a car for the duration of the internship. The second option may be even more profitable if you can later sell the car for the price of its purchase.

Unfortunately, cities in California do not look as aesthetically pleasing as London or Zurich (this is less true for San Francisco), so leisure activities consisted mainly of field trips. In California, a huge number of national parks, mountains, canyons, bays. Of all the activities, I was most probably impressed with surfing - it was something completely new and not previously explored. However, all of the above was possible only because friends were able to get a car.





Conversion process


During each internship, a special questionnaire arrives, where you need to indicate your plans for the next year: do not go to Google at all, go back to the internship or apply for full time. In order to get a working visa for working full time, you need to meet some criteria - for example, for some locations you need to at least get a diploma of higher education at the time you start work. And in Zurich, citizens of non-EEA countries cannot work without three years of work experience.

During the third internship, I decided to try to get a full time offer (“convert”). For this, as in the case of returning internships, it is necessary to get good reviews from hosts and in some cases (for example, if the current internship is the first) to undergo technical interviews. Since all the previous reviews were good, and the host at the third internship gave his consent to the absence of additional interviews, I did not have to go through technical interviews.

Summary


 What conclusion can be made?

As you can see, living conditions in California and Europe are significantly different. If the choice of location for the internship fell on California, it is better to think over ways of transportation in advance, carefully choose your place of residence, be prepared for the heat, sometimes difficult to tolerate.

As for working conditions, all the same, due to the fact that the corporate culture within Google is the same, I did not notice any significant differences between different countries. Google’s attitude toward work (contrary to my assumption that in America employees are more motivated to do hard work) turned out to be about the same. But still it seemed to me that the working atmosphere in Europe is more informal and relaxed. 

After the third internship, I realized that I didn’t want to move abroad, and decided that I would study in Russia for another year, and then I would make a decision. I refused to continue the conversion process and instead plan to go on an internship, for example, to New York, as I am sure that the experience of living and working there will be different from the same in California. And in the longer term, I would like to get a full time in Zurich.

All Articles