Google internship (end)
In the last part of my report, I’ll talk about the life of the intern at Google’s main office, about the office and, in fact, about the internship itself.
My team
When I applied for an internship, I indicated that I was interested in programming distributed systems, C ++ and backend. Recruiters took my wishes into account and, despite the fact that my resume was full of all kinds of web development, my candidacy was sent to the Ads backend teams. For those who are in the tank, these are the people who are developing the server side for serving Google Ads - for example, finding and ranking suitable ads.
After the interview I had a conversation with a potential manager. I got the impression that it’s rather he trying to convince me that I need to go to their team, rather than vice versa. Well, initially I perceived this interview as just a formality - checking that I can connect two words and do not faint at the word deadlock. Later it turned out that the manager interviewed several candidates and eventually chose me! Fortunately, I didn’t know then - it saved me a sea of nerve cells :).
In fact, there were 7 people in my team. Of these, 2 are from India, one American, one Canadian, one Brazilian, one Mexican and one German. Such a diversity of nationalities is quite common. With all of them, I found a common language without any problems at all - everyone turned out to be funny and open. Well, some may not be so direct and funny, but still very healthy.
My manager was from India. He turned out to be a very interesting professional in many ways. Firstly, he did not think about the career of a programmer until he was 21 years old. That is, he did not spend his childhood at a computer, did not program in assembler or basic - until 21 he generally saw a computer only on TV. And when they say that “patience and labor will grind everything” - this is 100% about him. For a little more than 10 years, he managed not only to become an excellent programmer, who managed to work with several Google stars and receive several Google awards "for outstanding achievementsbefore the fatherland ", but also to learn how to immediately solve any problems. At least he solved all my questions very quickly.
Here, however, in fairness it is worth noting two things. First of all, I like to solve my problems myself. And if I come to a manager with a problem, it means that the problem is at least non-trivial for me. And secondly, with my manager, we had a slightly different approach to solving problems. I have time to think, speak and do at the same time and program the agile method - I think in the process and expand the code in parts. My manager knows how to approach the problem thoroughly - he will first solve it in his mind, think over all possible problems, also solve them in his mind, and then in 3 hours he will write several thousand lines of code that will immediately work as it should. In fact, he can walk around the office for 3 days, think and write nothing at all, and then write a solution in a couple of hours. Fortunately, I quickly understood this point and tried to minimize extensive discussions - usually I either had the most specific small questions, or I already showed the finished piece of work. The approach paid off and according to the results of the internship, my manager was pleased with me.
My
Disclaimer project : Unfortunately, no details, as the NDA does not allow.
My team was caching data. For example, when people often search for the word flowers in Google, it’s ineffective to climb into the database each time and it’s easier to save such queries on a special server and ask them first. Of course, there are a lot of problems - what exactly to cache, how to synchronize the cache and the database, how to make combined queries (for example, if someone typed flowers and clothes at the same time). This is the solution to all this diversity.
I got a project that would make it easy to retrieve statistics on requests. In fact, my task was to create an engine for statistical analysis, which would greatly simplify the life of programmers. I had to write a lot of code, come up with a lot of concepts and then convince a bunch of managers that what we came up with here (invented and discussed, of course, by the whole team) is very cool. And what makes sense to switch to a new engine and gradually abandon the old.
It was complicated. Firstly, the system for which I created the engine - it was very large and incomprehensible. Secondly, I did not know how to program in C ++. Thirdly, something SO SUCH expected from me. And fourthly, a deadline of 3 months put pressure on me. Needless to say, when I was staring at the code for the first 3 days that I needed to change and expand, and didn’t understand anything in it - I wanted to cry and I started to regret that I got into all this happiness. On the fourth day, however, the matter got off the ground and I began to code something. At first it’s crooked, then it’s painted, and a month later the first prototype was ready for me.
All this time my colleagues helped me a lot. They didn’t interfere with my work, and even my manager, making sure that I was able to inflict something sane on my own, rarely bothered me with “Well? so how? when will we start? ” All the other teammates were also quite responsive and patiently answered all my questions, some even threw all their affairs and went with me to brainstorm if I really needed, others left until late evening to check several thousand lines of my code.
By the end of the internship, I managed to “catch up and overtake” - that is, to do even more than was expected of me. True, the results cost me quite a serious effort. Firstly, I worked 60 hours a week (however, almost all interns worked so much, many more). Secondly, I had to sit in the office a couple of times for 15-16 hours, because I had to have time to do everything by tomorrow (and tomorrow - a presentation for a senior manager, therefore, nothing else). Thirdly, a couple of times I had to redo everything, because at some point the team decided by a friendly vote that we would go the other way :). Fourth, I had to reconsider my plans for passing the GOS in early September and admit that I was still unable to prepare for exams (though I had to do it anyway - but that was a completely different story). Generally, I’ve never been so tired in my life and this, with all my positives, was a very tiring summer. However, the point here is not Google at all, but the fact that, apparently due to the acquired responsibility, I do not tolerate stress well - when the stakes are high, time is limited and you can’t get it wrong.
Workplace
This year the office, to put it mildly, did not please me. The place where we sat was a crowded bunker without sunlight. Moreover, it was for our team that it seems that Google managed to find the shitty place in the entire office. In all offices around the world. Small stuffy cubes of 5 people, to which someone constantly goes to discuss something, and, in my opinion, it is impossible to live without soundproof headphones. Moreover, to the right and left the office looked nothing like that, only about 30 people were globally unlucky, among whom was me. During my life I worked in 6 offices and with full confidence I can say that the one I got this summer was the worst one of the six. And he wins by a wide margin :).
But do not think that Google is doing badly. Google's office is 99% beautiful. But still, this unfortunate 1% remains in which I fell. It was all the sadder for me to walk around the office and watch the rest of the googlers sitting in bright and spacious rooms :). However, most of my time was still occupied by the project, so I had no time to be sad.
Office The
office in the USA is much bigger than anywhere else. And if last year in Zurich all the interesting things (a games room, a tea-coffee shop, a terrace with a view of the Alps) were just a couple of steps away, since the office is very small, this time it took 5 minutes to get to the ice cream. To billiards - too. And he was constantly busy :). Everything interesting was dispersed over a rather large area, and it took 5-10 minutes to get somewhere.
But there is also a big plus. If in Zurich a person could run around the entire office in a couple of hours and say that he had already seen everything and knew everything, then in the USA it was possible to go to offices all summer and constantly discover something new. In one - an amazing futuristic cuisine, in the other a rich set of board games, in the third a large selection of ice cream.
Well, a couple of pictures to attract attention:
Everywhere around the office are all sorts of cool stuff. For example, a stylized phone. Even in the office there is a special store where you can buy a lot of garbage with the Google logo - from t-shirts and hats, to table lamps.


You can take dogs to the office with you. And many googlers use this. Therefore, if you suddenly in the middle of the working day decided to squeeze some little dog, walk around the office a bit and you will definitely find a four-legged friend to your taste! :) Walking along the corridor, you can easily stumble upon a box of sweets. Sweets, of course, for everyone. In the corridor all kinds of chairs are stuffed. Some of them even know how to do massage. And this is one of the google cups. The food there is of course free and unlimited. There are dozens of such cafes in Google (some, however, much more) and Google even carefully tells which cafe lovers of healthy (or unhealthy) food should go to. Well, just walking around the office, you can constantly come across interesting things. Here it is like that.







Entertainment
In order for interns to feel happy and satisfied, Google has a special team. Her responsibilities include inventing and organizing all kinds of entertainment and solving organizational issues. It also seemed to be their responsibility to mention in each email how happy they are that we came to be trained. True, in the last month the tone changed a little - and in each letter they mentioned that they are very sad because we will leave them soon :).
It should be noted that the entertainment of the Internet group was very good. At least I regularly received letters inviting me to join something very interesting. Since I regularly went everywhere with my team and I didn’t have much time because of my project, I didn’t bother to hang out with interns. But judging by the reviews of colleagues in the shop, some of them were very funny.
But someone obviously didn’t think of something with organizational moments. I had a number of standard questions - something about a visa, about paying salaries, about what to do in the XYZ situation. And the coordinators weren’t able to answer any of them and suggested that I look for someone on my own. Given that I was an intern, and they have been working with interns for more than a month, it would be logical to expect that they will at least compose a list (like “Questions on visas - send the intern to Pasha, questions on money - send the intern to Masha ”), but in fact they wrote to me about how happy they are that I write to them, but alas, with my question, they can not help me.
End of internship
The internship is limited to 14 weeks. Theoretically, the internship can be extended for a couple of weeks - for this it is necessary for the manager to write a letter to someone there and explain the reasons. But even taking into account the extension, more than 16-17 weeks whether a series will work out. On the last day, badges were taken from us, they asked us to return all the equipment and the bikes that were given to us (yes, we spent the whole summer ripping off Google bikes). We were also asked to comment on what we liked and what we didn’t like, and the internship ended.
True, there are a couple of points that are worth mentioning. Firstly, those interns that graduated from the university in the very near future could apply for the so-called intern conversion. Those interns who were satisfied with the team undergo two additional interviews. Instead of three more interviews, feedback from colleagues is used, such as "A good comrade, responsibly approached the task assigned to him." Getting to work in Google through an internship is somewhat easier - at least because if a person is really intelligent, then in a few months he can show himself. And this somewhat reduces the element of chance during the interview.
For those who do not graduate from the university, you can express a desire to come for an internship again. If the team was satisfied with their intern and they go to reunite in a year, then this is usually done without problems and without additional interviews. Although all, of course, individually.
Conclusion
If you have questions - how, what, when, and so on - then feel free to ask them in the comments. And I will try to make the FAQ out of these questions and attach to the post.
Links
My internship in the USA - part 1 , part 2
My internship in Zurich - part 1 , part 2
My thoughts on the interview
FAQ or I want an internship
My team
When I applied for an internship, I indicated that I was interested in programming distributed systems, C ++ and backend. Recruiters took my wishes into account and, despite the fact that my resume was full of all kinds of web development, my candidacy was sent to the Ads backend teams. For those who are in the tank, these are the people who are developing the server side for serving Google Ads - for example, finding and ranking suitable ads.
After the interview I had a conversation with a potential manager. I got the impression that it’s rather he trying to convince me that I need to go to their team, rather than vice versa. Well, initially I perceived this interview as just a formality - checking that I can connect two words and do not faint at the word deadlock. Later it turned out that the manager interviewed several candidates and eventually chose me! Fortunately, I didn’t know then - it saved me a sea of nerve cells :).
In fact, there were 7 people in my team. Of these, 2 are from India, one American, one Canadian, one Brazilian, one Mexican and one German. Such a diversity of nationalities is quite common. With all of them, I found a common language without any problems at all - everyone turned out to be funny and open. Well, some may not be so direct and funny, but still very healthy.
My manager was from India. He turned out to be a very interesting professional in many ways. Firstly, he did not think about the career of a programmer until he was 21 years old. That is, he did not spend his childhood at a computer, did not program in assembler or basic - until 21 he generally saw a computer only on TV. And when they say that “patience and labor will grind everything” - this is 100% about him. For a little more than 10 years, he managed not only to become an excellent programmer, who managed to work with several Google stars and receive several Google awards "for outstanding achievements
Here, however, in fairness it is worth noting two things. First of all, I like to solve my problems myself. And if I come to a manager with a problem, it means that the problem is at least non-trivial for me. And secondly, with my manager, we had a slightly different approach to solving problems. I have time to think, speak and do at the same time and program the agile method - I think in the process and expand the code in parts. My manager knows how to approach the problem thoroughly - he will first solve it in his mind, think over all possible problems, also solve them in his mind, and then in 3 hours he will write several thousand lines of code that will immediately work as it should. In fact, he can walk around the office for 3 days, think and write nothing at all, and then write a solution in a couple of hours. Fortunately, I quickly understood this point and tried to minimize extensive discussions - usually I either had the most specific small questions, or I already showed the finished piece of work. The approach paid off and according to the results of the internship, my manager was pleased with me.
My
Disclaimer project : Unfortunately, no details, as the NDA does not allow.
My team was caching data. For example, when people often search for the word flowers in Google, it’s ineffective to climb into the database each time and it’s easier to save such queries on a special server and ask them first. Of course, there are a lot of problems - what exactly to cache, how to synchronize the cache and the database, how to make combined queries (for example, if someone typed flowers and clothes at the same time). This is the solution to all this diversity.
I got a project that would make it easy to retrieve statistics on requests. In fact, my task was to create an engine for statistical analysis, which would greatly simplify the life of programmers. I had to write a lot of code, come up with a lot of concepts and then convince a bunch of managers that what we came up with here (invented and discussed, of course, by the whole team) is very cool. And what makes sense to switch to a new engine and gradually abandon the old.
It was complicated. Firstly, the system for which I created the engine - it was very large and incomprehensible. Secondly, I did not know how to program in C ++. Thirdly, something SO SUCH expected from me. And fourthly, a deadline of 3 months put pressure on me. Needless to say, when I was staring at the code for the first 3 days that I needed to change and expand, and didn’t understand anything in it - I wanted to cry and I started to regret that I got into all this happiness. On the fourth day, however, the matter got off the ground and I began to code something. At first it’s crooked, then it’s painted, and a month later the first prototype was ready for me.
All this time my colleagues helped me a lot. They didn’t interfere with my work, and even my manager, making sure that I was able to inflict something sane on my own, rarely bothered me with “Well? so how? when will we start? ” All the other teammates were also quite responsive and patiently answered all my questions, some even threw all their affairs and went with me to brainstorm if I really needed, others left until late evening to check several thousand lines of my code.
By the end of the internship, I managed to “catch up and overtake” - that is, to do even more than was expected of me. True, the results cost me quite a serious effort. Firstly, I worked 60 hours a week (however, almost all interns worked so much, many more). Secondly, I had to sit in the office a couple of times for 15-16 hours, because I had to have time to do everything by tomorrow (and tomorrow - a presentation for a senior manager, therefore, nothing else). Thirdly, a couple of times I had to redo everything, because at some point the team decided by a friendly vote that we would go the other way :). Fourth, I had to reconsider my plans for passing the GOS in early September and admit that I was still unable to prepare for exams (though I had to do it anyway - but that was a completely different story). Generally, I’ve never been so tired in my life and this, with all my positives, was a very tiring summer. However, the point here is not Google at all, but the fact that, apparently due to the acquired responsibility, I do not tolerate stress well - when the stakes are high, time is limited and you can’t get it wrong.
Workplace
This year the office, to put it mildly, did not please me. The place where we sat was a crowded bunker without sunlight. Moreover, it was for our team that it seems that Google managed to find the shitty place in the entire office. In all offices around the world. Small stuffy cubes of 5 people, to which someone constantly goes to discuss something, and, in my opinion, it is impossible to live without soundproof headphones. Moreover, to the right and left the office looked nothing like that, only about 30 people were globally unlucky, among whom was me. During my life I worked in 6 offices and with full confidence I can say that the one I got this summer was the worst one of the six. And he wins by a wide margin :).
But do not think that Google is doing badly. Google's office is 99% beautiful. But still, this unfortunate 1% remains in which I fell. It was all the sadder for me to walk around the office and watch the rest of the googlers sitting in bright and spacious rooms :). However, most of my time was still occupied by the project, so I had no time to be sad.
Office The
office in the USA is much bigger than anywhere else. And if last year in Zurich all the interesting things (a games room, a tea-coffee shop, a terrace with a view of the Alps) were just a couple of steps away, since the office is very small, this time it took 5 minutes to get to the ice cream. To billiards - too. And he was constantly busy :). Everything interesting was dispersed over a rather large area, and it took 5-10 minutes to get somewhere.
But there is also a big plus. If in Zurich a person could run around the entire office in a couple of hours and say that he had already seen everything and knew everything, then in the USA it was possible to go to offices all summer and constantly discover something new. In one - an amazing futuristic cuisine, in the other a rich set of board games, in the third a large selection of ice cream.
Well, a couple of pictures to attract attention:
Everywhere around the office are all sorts of cool stuff. For example, a stylized phone. Even in the office there is a special store where you can buy a lot of garbage with the Google logo - from t-shirts and hats, to table lamps.


You can take dogs to the office with you. And many googlers use this. Therefore, if you suddenly in the middle of the working day decided to squeeze some little dog, walk around the office a bit and you will definitely find a four-legged friend to your taste! :) Walking along the corridor, you can easily stumble upon a box of sweets. Sweets, of course, for everyone. In the corridor all kinds of chairs are stuffed. Some of them even know how to do massage. And this is one of the google cups. The food there is of course free and unlimited. There are dozens of such cafes in Google (some, however, much more) and Google even carefully tells which cafe lovers of healthy (or unhealthy) food should go to. Well, just walking around the office, you can constantly come across interesting things. Here it is like that.







Entertainment
In order for interns to feel happy and satisfied, Google has a special team. Her responsibilities include inventing and organizing all kinds of entertainment and solving organizational issues. It also seemed to be their responsibility to mention in each email how happy they are that we came to be trained. True, in the last month the tone changed a little - and in each letter they mentioned that they are very sad because we will leave them soon :).
It should be noted that the entertainment of the Internet group was very good. At least I regularly received letters inviting me to join something very interesting. Since I regularly went everywhere with my team and I didn’t have much time because of my project, I didn’t bother to hang out with interns. But judging by the reviews of colleagues in the shop, some of them were very funny.
But someone obviously didn’t think of something with organizational moments. I had a number of standard questions - something about a visa, about paying salaries, about what to do in the XYZ situation. And the coordinators weren’t able to answer any of them and suggested that I look for someone on my own. Given that I was an intern, and they have been working with interns for more than a month, it would be logical to expect that they will at least compose a list (like “Questions on visas - send the intern to Pasha, questions on money - send the intern to Masha ”), but in fact they wrote to me about how happy they are that I write to them, but alas, with my question, they can not help me.
End of internship
The internship is limited to 14 weeks. Theoretically, the internship can be extended for a couple of weeks - for this it is necessary for the manager to write a letter to someone there and explain the reasons. But even taking into account the extension, more than 16-17 weeks whether a series will work out. On the last day, badges were taken from us, they asked us to return all the equipment and the bikes that were given to us (yes, we spent the whole summer ripping off Google bikes). We were also asked to comment on what we liked and what we didn’t like, and the internship ended.
True, there are a couple of points that are worth mentioning. Firstly, those interns that graduated from the university in the very near future could apply for the so-called intern conversion. Those interns who were satisfied with the team undergo two additional interviews. Instead of three more interviews, feedback from colleagues is used, such as "A good comrade, responsibly approached the task assigned to him." Getting to work in Google through an internship is somewhat easier - at least because if a person is really intelligent, then in a few months he can show himself. And this somewhat reduces the element of chance during the interview.
For those who do not graduate from the university, you can express a desire to come for an internship again. If the team was satisfied with their intern and they go to reunite in a year, then this is usually done without problems and without additional interviews. Although all, of course, individually.
Conclusion
If you have questions - how, what, when, and so on - then feel free to ask them in the comments. And I will try to make the FAQ out of these questions and attach to the post.
Links
My internship in the USA - part 1 , part 2
My internship in Zurich - part 1 , part 2
My thoughts on the interview
FAQ or I want an internship
- Must go for an internship in the summer? Or is it possible at any other time?
Internships are held all year round and it is quite possible to go when it is convenient. Although most people, of course, travel in the summer. Well and, accordingly, in the summer more than any entertainment, a lecture and all that jazz. - Do I need to be a C ++ or Java guru?
Not at all necessary. For example, in an interview you can also write solutions in Python or C #. Although you need to know some language (yes even Haskell), it is not necessary that these be C ++ or Java. But here is such a moment - most projects are done in these two languages, so already in Google you will have to learn them anyway. - What language are the interviews in? How well do you need to know English?
Interviews are in English. You need to know the language well enough at a conversational level. The emphasis does not play a special role (but it is important that the interviewer understands what you are telling him), but you need to talk and understand quite freely. - What is asked at the interview?
They ask everything and everything. I would recommend looking at careercup.com , where people post specific questions that they were asked in an interview (including on Google). Also, if you search, the Internet is full of google interview experience and there you can also get information and tips for yourself. - How to prepare for an interview? Need to know TCP / IP implementation details? Do I need to be a Unix guru?
Typically, during an interview with detailed knowledge, they don’t check anything (unless you apply for a Unix-guru position and write it in your resume). Most of the questions are to come up with an algorithm that does this and that and write code for its implementation on paper (or in google docs). Standard algorithms and code for them (searching for cycles in a graph, next / prev in a binary tree, turning over a linked list, searching for duplicates in a string, etc.) must be able to write without a single mistake, even if they wake you up in the middle of the night.
My training experience is described here and here . - I sent a thread through the site. How long to wait for an answer?
Usually 2-3 weeks. But, of course, it happens more and less.