Mikhail Okunev, Master of Perm State University, talks about how his internship at Google goes. He cannot post to Habr, since there is no account, so I will write for him. In his LiveJournal, you can read about life and recreation in Zurich and about training at Microsoft last year.Today I will tell you what my approximate day looks like at work:

')
11.00-13.00. Somewhere around this time I come to the office.
Yes, I sleep for a long time, and no matter how much I try to reverse this regime, it turns out badly. Here it is not punished, as long as I carry out all the tasks on time. My boss comes in at 10, the head of the team works from morning to night, but four days a week, because he has a family in Germany. In general, everything is very flexible.
So, I greet the team, have lunch, drink a cup of coffee. Breakfast-lunch-dinners are free here. They feed tasty and diverse: there is always fish, meat, some pasta and dessert. And, most importantly - there is a machine for getting freshly squeezed orange juice.

At 12.00 we have standup rally. Dubious occupation, in my opinion, but the team is practicing. All stand in a circle and briefly tell what they did, what did not work and what are their plans for the future. I usually skip it. However, nothing terrible, since my project is not yet tied to anyone except me.
By the way, about my project - as usual details are closed NDA, but in the most general words. I work in team X, which makes product Y, which is then used by team Z. Neither X nor Y do not google, but in general we are talking about tons of data, lots of computers, thousands of lines of code. I have a rather interesting project. Now I am adding some functionality for Y, and then I will mercilessly optimize it. At the same time pick up Java. After C ++ it goes like clockwork.
Then I immerse myself in coding, sometimes communicating with my boss, it lasts up to 8-9 hours.
It looks like this:

The workplace is very convenient - two monitors, even more than MS, Linux, Eclipse. Know - work.
By the way, about the process of work. At first, I was worried that I would have to write in an unfamiliar language, master the local infrastructure, but it didn’t seem to cause any particular problems. The problems were different - the lack of industrial experience affects and as a result I sometimes incorrectly prioritize. For example, once I spent a whole week studying and applying some internal data structure (written, by the way, by one of the former ASM researchers). For a long time I could not understand how it works, until I realized that I taught the same to my schoolchildren in Kungur. But that's not the point. After I felt the internal structure, I realized that I could strain a little and speed up some process 5-10 times, and reduce the amount of memory spent by 2 times, due to the use of implementation features. If, after reading this sentence, you have a shine in your eyes, then you probably once actively engaged in AFM. I spent a few days, implemented and it even __ worked. And suddenly, on the weekend, I realized that I spent my time absolutely in vain, because:
1) my system is not real-time, and there’s no sense that it works a minute, not a second
2) the implementation was much more complicated than in the obvious method
3) the main thing is that the solution was based on the use of an internal representation, instead of a public interface, which means that when the internals change, I will have to change my piece of code
In general, it is not so easy to get used to the fact that speed and optimality are needed only as long as some functionality is impossible without them. What can be spent a couple of days on refactoring the code, which already works fine, but we will divide the piece A into two pieces B and C, which are much more convenient to work with, and so on. I learn a lot here and it's great.
I really like the team I work with. It seems that almost everyone here is with a PhD, and the Ukrainian Bogdan, although he did not have time to get it, but the finalist is ASM. Moreover, I walked across the floor somehow, and, after reading the posted questionnaires, I found out that almost half came from Research, many of them had the same PhD. It depends on the team, I think, but still the qualitative composition is quite strong.
Before you code it, you need to show it to your colleagues. My first piece of code for 700 lines was recently cruelly otveveven my boss, 95% of the comments belonged to the style, but I have been doing the remaining 5% for a week now. However, another week, and it will be possible to safely deliver, on which the first, smaller part of my project will be completed. :)
After work, I go to the first floor to the gym

20 minutes of running, weight training equipment, press 100 times, beating a pear, a shower. Who said that a programmer is a snag with glasses?
After the gym is very cool to lie in the room with aquariums

And then I go to the Play room and do the piano for an hour. Of course, not a pink piano, as in MS, but also amiss.
Sometimes you really want to call home, for this you can use the following booths

It is midnight, I walk out of the building and in half an hour on foot I reach my apartment, where only a sofa is out of furniture, but, by the way, this is more than enough for me. And everything repeats.