Back to Home

From Facebook HackerCup 2011 to internships on Facebook

ours abroad · facebook · internship · google

From Facebook HackerCup 2011 to internships on Facebook

Start

Hello! Often, glancing through the headlines in the morning on Habré, I see articles about how someone left to study abroad. And every time I think it's time to stop being lazy and describe my story about how I went on Facebook internship.

Briefly about myself at the beginning of 2011, about what I remember now. I was engaged in sports programming. Not very successful, but not to say that it was a failure. The ratings on TopCoder and Codeforces were quite high, and I was preparing for my last attempt to get into the finals. I participated in the Facebook Hacker Cup 2011, as in one of the regular contests, where you can simply solve problems. There I got to round 2 and got a T-shirt, having solved 1 problem (the coolest thing is that I did not know how to solve it and thought about turning off the computer, but it suddenly dawned on). And this task turned my whole life upside down.

After 2 months, in April, I received a letter from a Facebook recruiter in my mail saying that my performance at HackerCup was good, and whether I was considering the possibility of working in their company. Well to say that I was surprised, to say nothing! Before that, two more of my friends went on internships: one at Microsoft (subsequently stayed there), the other on Facebook (now works on Google). I had heard about the life of engineers “there” and set about writing a resume. The summary came out extremely scarce, mainly competitions, where I participated, but there was no work experience. But a telephone interview was assigned to me. And they called almost immediately. I note that I was interviewed for work, not for an internship.

Telephone interviews

The first call was from a recruiter. I must say that I started learning English at 3 years old and studied at the institute with a very good teacher. At the institute, I also seemed to go in pairs and practice was, but I did not understand 80 percent of what the recruiter said. She spoke very quickly, asking what I was writing on, my interests. Then the first technical interview was scheduled. A few days later it took place. Simple tasks on algorithms. Only the latter caused some difficulties. After they wrote to me that it is necessary to appoint a second. Appointed. The time has come for him. The task of the algorithms is easy, but then it was necessary to design news feed. I actually said something, tried to reason, the phrase “yes, that makes sense!” Encouraged me, but after that I was asked to appoint a third. I still think that this is because of my “design” of the news feed. The third was easier again tasks on algorithms. Pretty simple. Then for the first time they gave me a task, which later became the classic itself - to find the k-th maximum in the array. In contests, we always did this using stl -nth-element, and I knew that its complexity is linear, but here you need to write code with your hands, but also feasible!

A few days later I received a letter saying that my name is on an onsite interview in the USA. What do you pay for accommodation and flight. I had never been to America before, and it was just WOW - free to fly there! But it was already May, and it was necessary to fly in June. There is no visa, there are queues from Work And Travels at the embassy, ​​but still I managed to do everything before the flight, which was booked by Facebook, and flew to the interview.

Onsite Interview

California was very cool! My friends who moved there relatively long ago showed me San Francisco, I looked around. But the interview itself was tough. 4 interviews in a row for 45 minutes - a bunch of tasks. You write the code on the board. I shot three perfectly, but the fourth ... I flunked the simplest question on javascript (now it seems nonsense to me to write my own implementation of the bind function, and then I did not know what it was doing, since only lightweight front-end wrote on js for his diploma), and then there was a design for 40 minutes.

Having returned home, I got up at 5 in the morning every day, since the time difference of 13 hours is not bad. And one morning I read in the mail: unfortunately ... Immediately somehow it became sad! But already so simply I did not want to retreat! I replied to the letter that if I don’t go to work now, maybe then for an internship? A few days later they gave me consent. Dates: September to mid December. Then it became clear that I was missing the sports programming championships that I had been waiting for and preparing for all this time. And at that moment I realized that my career as an Olympiad ended in favor of another direction. I must say that a couple of months before departure, I began to read books and articles intensively (I still have not sorted out a bunch of tabs from Habr), but the level was still very low. I didn’t know and didn’t know much, but then it didn’t seem scary to me.

Internship

For a couple of weeks they told me that the team I will have Site Integrity - we will fight with spam and hacks. I was completely unfamiliar with this topic. But nowhere to go - flew to the internship.

Trainees are given apartments - 4 people in the apartment, 2 in the room. Apartment rental has already been paid and there is no need to pay a communal apartment. Since I wanted my wife to come to me for a couple of months, this was not an option for me. In a group on Facebook for interns, we chatted with a guy from Canada - he also wanted to rent a house himself. We agreed that we would be neighbors. When I arrived, my future neighbor said that he had not been able to find an apartment for 2 weeks. I had 4 days before the start of the internship and I set about searching. Found an ad - went, did not like it. And next I saw another house - went there and everything was already cool there! We rented a 2-bedroom apartment + living room for $ 2020 per month. They also rented a car. True, I went to work by shuttle - these are minibuses from the company - only employees go to them - very convenient. Now, for example, we also have wifi in our shuttles, and I listen to Coursera courses on the way to work and home. So, housing was found, the internship began.

To be honest, at first it was very difficult - I did not understand the team well, the tasks were terrifying, but I worked 12-13 hours a day and went to work on weekends - 6-7 hours. My manager did not help me the way I should, I did everything myself. At first I did not understand the importance of the questions - ask! - I was shy, I felt uncomfortable because of my English, so the first month I dealt with each thing for a very long time. Then it went faster. In the end, I was already free to navigate the code, understood everything and answered questions from beginners. So I got the skill of reading code, which now helps a lot. I have done all the tasks. Much has gone into production. It was nice to hear from a friend with whom we started an internship (he was given an offer after and he now works on facebook) that he recently understood my code.

I will try to summarize the internship:

Office

Recently we were in the new Facebook office - that's not it! It is, of course, big, there were a lot of cafes, but then we worked in Palo Alto. Small office (relatively), but very cool! Tennis, a basketball court nearby, table football, a bunch of sofas, slot machines, posters, just a hack atmosphere.

Food

At companies of this level, they usually feed for free. Three times a day and very tasty! At first, the feeling of a buffet somewhere in Turkey and I want to try everything. Finishes that a bunch of micro-kitchen with sneakers, twixes, barrels M & Ms, etc. There are also refrigerators with any drink you want and all this is free. I put on weight a kilo ... in general, a lot. Now returned to its weight and do not repeat such mistakes. My method is I take all day snacks in the kitchen in the morning and try to take only nuts and yogurt. And for lunch, breakfast and dinner, do not take cakes, but only fruits (which are also very much).

People

The guys are very cool. Highly! And everyone is friendly. Anyone will drop everything if you ask him something and explain it. Having worked this way, I myself have become so. You learn a lot from the team. You learn a lot by reading the code review code. I learned a lot of very cool C ++ and javascript hacks. If you set a goal to learn and ask, you will very quickly become a teacher yourself :)

Conditions

I worked on a 15 inch MacBook Pro. Then I moved to poppies, although the first week I did not understand how to use it. Any software is free (if for work, of course). A 32 inch monitor in the office, ergonomics everywhere - I ordered a Microsoft natural ergonomic 4000 keyboard - they brought it in 20 minutes. They gave the iPhone 4S (then it was in fashion) with unlimited Internet and calls around the world (also not to become impudent, because unlimited - it's just the account goes to the company). In general, everything is for you, just write the code. Now I ordered Kinesis , ergo mouse, and all this was provided to me!

Programming and Technology

Separate item. I’ll tell you how I worked at the internship.
Firstly, I learned to use the terminal. find, grep is just a treasure. I began to use VIM. Not just like that, but it got to the point that I took down all the IDEs. I will definitely share my config for VIM if anyone is interested! Moreover, now I am adding my plugin for vima, but more on that in another article. Git is what I did not know and what I learned. Code review - without it, it’s not at all clear how to work. After all, the idea is great - check the code before sending it. To avoid unnecessary refactoring, unnecessary bugs, so that everyone already knows what you wrote, and did not find out by chance, a month later, when they spent N hours, to write the same feature. That’s basically it. That's all it takes to work! And now I'm using the same thing! On Facebook, this is generally a culture - the hacker culture. During this time I began to work on javascript, python, java. I continue to write in C ++. I learned a lot of patterns and subtleties, a bunch of new tools and techniques.

Salary

Big one. Highly. True, taxes are also not small, but some were returned upon return.

Friends and acquaintances

Everything is clear without words.

What's next?

Another line appeared in my resume. Thanks to her, I got a couple of dozen interviews and now I work in the central office of Google . My level is growing sharply. At the post office, tons of job offers. Many hackathons, their projects, teams, people who are fond of the same! Then in 2011, I did not think that in 2 years I would be where I am now!
I described everything crumpled and briefly! If you have questions - ask in the comments, I will answer with pleasure!

PS
They interviewed me when I returned after my internship. Who cares - here is the link .

PPS
Email me if you want to try your hand at Google! I will answer everyone! My VK page has already felt the start of the habroeffect, so I think it's better to email [email protected] - do it in the [TryGoogle] topic - I'll set up a filter for this!

Read Next