
Recently, articles on labor immigration to Europe have become popular here. Since I am also an IT immigrant and work in the Amsterdam office of Booking.com, I decided that I also have something to tell.
My name is George, and now I have been living in Holland for a year and a half and working as a developer / team-leader on Booking.com. I want to begin my story about life in Amsterdam with a story about how it all started. This story will be about how and why I chose my current company to work, how the interview process and subsequent follow-up took place.
Idea
Like any adventurous undertaking, it all starts with an idea. In my case - very spontaneous. I love to travel to other countries. Most often, I visited Europe, and for quite a short time (a week or two). However, this year I made my truly great journey, which will be remembered for a long time (and I really hope to write some articles about it sometime). In February 2014, I got married, and my wife and I went to the ends of the world - to New Zealand. Since in three weeks we wanted to have time to squeeze out the most impressions from the country, to which only to get you need to fly 30 hours (and this, I tell you, extremely exhaustingly), our trip consisted of a lot of moves from place to place with constant change of hotels and cities. Planning and choosing housing, especially when you need to choose it not for a long time in one city, but for 1-2 days and in 15 different places - the process is quite troublesome.
')
And at that moment the Booking.com site, which is known to many travelers, helped me a lot.
With it, I managed to book the best hotels for the price / quality, and never once was there any overlays or any problems. Upon returning home, in the wake of such enthusiasm and sincere gratitude to the booking, I suddenly decided to see from something if they had any vacancies. It was just some kind of spontaneous idea that was born in my head on a wave of oversupply of emotions.
I did not expect anything concrete or plan. I did not even know in what country the head office is located, nor how many employees are there in it, nor what development technologies do they use. On
the job site, I was struck by the work called “Developer (Willing to learn Perl)”, which, if briefly, said that since the world of Perl programming language specialists is not that much, and that this language not very popular, the company is looking for just an intelligent and experienced developer who doesn't know, but would like to learn Perl. Honestly, I really like this approach, because I believe that a programming language is only a tool in the arsenal of a real programmer. And it is not the language that determines who you are. For example, an experienced auto mechanic will not matter, Lada before him or Mercedes. Yes, first he will have to read the instructions for the car to understand the differences in design, but ultimately, if his hands grow from the right place, he will not care what to repair.
It is also worth saying that in my work I always lacked the feeling that I was working for someone’s good. Yes, I created software systems of varying complexity, but they were all made for a certain limited circle of people, made to order, and there was little feedback from my work.
Therefore, I also wanted to find a place to work on such a project that would really help specific people. And so that I could come home, run this program or website on my computer, and tell my relatives: “Look, I did this handy thing with my own hands.”
The combination of enthusiasm, admiration and the desire to help others came together, so I decided to try my luck and responded to the vacancy. By that time, I already had a summary in English, left over from previous times. I updated it a little bit, updated my skills and other things and sent it without much hope that it would be interesting for someone. Judge for yourself - a certain programmer from Russia, with experience that is absolutely not intersecting with what is used by booking (I have a lot of skills in the field of everything related to Microsoft, and they need an employee to work with Perl, which means using Linux and other open source solutions). So I sent and forgot. But, as it turned out, in vain, because they noticed me.
Call
One day, as usual, I was in the office at my then main job. And then suddenly the phone rang from an unknown and clearly not Russian number. I didn’t have any foreign friends or colleagues, so a similar call confused me a little. What was my surprise when at the end of the “wire” I was told that they were calling from Booking.com about my resume. So began the recruiting process. To imagine the duration of this process, I will say that the first call came in around March 20 or so (after about a week or two after sending the application).
This call was essentially the first interview. Fortunately for many, the very first interview is not technical. This is done in order to, firstly, to get acquainted with the person in more detail and speak with him in a voice, and secondly, to give the candidate time to prepare for really technical parts. The first call is made by the recruiter. In my case, it was a girl with a pleasant voice, who rather politely and kindly told me a little about the company, position, etc., and then began to ask about me: who do I work with, what exactly do I do at work, why do I want to go to booking well and the like. So you go through the primary filter: the company understands whether you fit the description from the summary, and indeed how you generally communicate. Something like protection from a fool, so as not to call for technical interviews frankly not suitable people.
Important! Booking.com is an international company that employs people from 113 countries and is headquartered in Amsterdam. To be able to understand each other, the official language of the company was recognized as English. Therefore, before submitting a resume to the booking, it is very important to understand that you have to always and everywhere speak English.
I know English quite well, but I did not have enough conversational practice. Therefore, our communication was rather chaotic, given the unexpectedness of the call. But in general, everything went pretty well, although I remember that pretty sweaty, and in the throat formed a small desert.
Call 2
After the first call, we agreed that they would write me an email with the results, and that if everything is positive, they will assign another call, but this time of a technical nature. The letter was not long in coming. After about another week (or even less), the same girl wrote to me (by the way, it’s worth noting that she then led my candidacy during the entire time until the issuing of the offer. It’s pretty nice, you feel that you are being given personal attention. In addition, you always stay in context with one person).
The letter stated that I had successfully completed an HR interview and now it was time to show what I am capable of. To do this, the company organizes another call with me (by phone or Skype, as I like), during which I will solve real problems. I was asked what day and what time it would be convenient for me to phone. I proposed several alternatives, given the time difference, my schedule, etc. A couple of days later another letter came in which I was assigned a call. And I began to prepare.
Training
Before telling about the call itself and what was there, it is worth giving a few words about how I prepared for all this. If you have never been interviewed by a company of this kind, then it is very difficult for you to imagine what to expect. In most Russian companies at the interview, it is customary to ask more about some technical and platform-related things. For example, if you want to work as a C # programmer, then you will be asked about the Garbage Collector device or about some other internal things. But in my case, this obviously could not be, because I went to the position of a Perl developer without experience.
Fortunately, I imagined how Google, Microsoft and similar giants are gaining. There is one very good Gayle Laakmann McDowell book called "Cracking the Coding Interview". There, the recruitment process in Google, Amazon and Microsoft is very well written (without details, but in order to understand the principle), and at the same time there are given approximate topics that are asked there. So, it turned out that in such companies they are interested not so much in the programming language, as in knowledge of the basics of programming in principle. This means that you will be asked about the data structures and algorithms, and ask you to solve some puzzles for which it is difficult to come up with a solution, but when it is, it is programmed in a matter of minutes. Taking into account that booking is a foreign company, I decided that most likely the principle of questions would be similar to the giants of the industry, and began to recall what I had forgotten after university.
I rediscovered the wonderful world of algorithms and data structures, learned to distinguish a coherent list from a tree, a hash from an array, and also began to understand what O (n) is and how to evaluate the complexity of the algorithm. Even if all this knowledge would not be useful to me at the interview, I still would not regret that I remembered all this.
But they were useful, and how.
Call itself
At the appointed time (about mid-April), I did not go to work, to stay at home and have an interview. Strictly at the appointed time, with a slight delay of 5 minutes, Skype was called. On the other side were two guys named Sergei and Ivan. Naturally these were Russian-speaking guys, but despite this, our communication was entirely in English. Honestly, I didn’t even have thought of speaking Russian to them.
I was immediately offered to open a shared online document where I had to write code. The peculiarity of this approach is that everything you write is immediately accessible to all users. In other words, your every action is noticeable. Therefore, we must be very careful and careful, think over each expression as carefully as possible, so as not to look like a slob and not a professional. The second feature - you lose your usual IDE with all sorts of clever prompts, autosubscription and other things. Only you and the code and nothing else. It is for this reason that in the book about which I wrote above, it is strongly recommended to perform all the tasks on a sheet of plain paper - to get used to rely only on yourself.
I was very surprised and pleased by the fact that the company, whose main technologies are Open Source products, tried and invited people who understand C # a little (my main language, with which I carried out the tasks) for an interview.
It is very important to see at the interview stage that the company cares not only about its employees, but also about those whom it has not yet hired.
If I were told to perform tasks on something that is necessary and important to a booking (in C ++ or Perl or at least Java), then I would most likely have failed the task. But with a similar approach, everything is much calmer and more comfortable.
Tasks
I will not say here what tasks I had during the telephone interview. The reason is quite banal - I just don’t remember them. But even if he remembered, it would be dishonest of me (and most likely illegal). I will only try to bring several analogies of what may be encountered in a telephone interview in a booking.
- For example, you may be asked to write an algorithm for finding and removing an item from a single-linked list. A fairly simple and well-known algorithm that will allow you to determine your fundamental knowledge.
- Or you can give a puzzle to calculate the Fibonacci numbers (1, 1, 2, 3, 5, 8, 13, etc.). This can be done in several ways, and it is better to tell all about them, the problems and advantages of each.
It is important to be able to assess the complexity of the algorithm that you wrote. We must understand that Booking.com is visited daily by millions of users. And if an algorithm is written inefficiently, is slow, or requires a lot of memory, even a small amount of extra work will result in huge costs.
In most cases, when implementing the task at the interview, there will be two ways to solve it. The first is the most obvious and simple. For example, you need to understand whether the entered number is a power of two or not. To do this, you can simply divide this number by 2 until you get a deuce in the last step. This algorithm will work, it will give the result, but on large numbers it will spend a lot of extra time. Or you can write a simple one-line expression: x & (x-1) == 0. Some bit magic is used here, but the result will be the same, but in much less time. Now imagine that this function is executed every time a request comes from the user to the server. And this optimization of the algorithm will save a lot of time for the user and the company's money.
During the interview it is very important to understand that all the code you write can be used against you. Therefore, we must take this very seriously. Never make hasty decisions and start writing before you think. First, you need to analyze the task, understand its limitations, pitfalls, possible assumptions, and only after the whole picture has taken shape in your head and you have an approximate solution algorithm, then you should take up the keyboard. All these tips are described in the book. She helped me a lot, and if you are also going to work on Booking.com, Google, Microsoft or even Yandex (where there are very similar values), I strongly advise you to read it.
Ending
At the end of the telephone interview I was given the opportunity to ask my own questions. This is a very convenient moment to learn first-hand the peculiarities of working in a company, projects in which people work, some other specific things that are not publicly available. In addition, in your questions you also reflect a part of yourself - what is important to you, what you want to understand first. Therefore, it is very undesirable to ask about money. Personally, I asked what things the guys are working on at the moment, how their ordinary day goes and what they like to do in their free time. These questions take about 5-10 minutes, so there is not very much to learn, but this is a good chance to get first-hand information.
After the interview
After completing my call, I was all on pins and needles. I was terribly curious if I coped well with the tasks. Because, honestly, I thought that I didn’t perform very well. I spent a long time over one of the problems and I did not have enough time to complete it. Of course, I didn’t really expect to get this job and still didn’t take it seriously, but some part of me (probably pride) was very eager for me to go further.
To the credit of the Booking.com staff, the answer came pretty soon. Three days after the call I received a cherished letter. I clearly remember this moment - the feeling when you realize that this is it, the cherished message that you have been waiting for. Just take the phone, open the mail and read. But you are delaying this moment, because you know - the longer you pull, the more pleasant the reading will be. I saw the sender of the letter, she was my HR recruiter. But more importantly, I saw the subject of this letter. There were only four words written:
Interview invitation to Amsterdam!
Which meant that I successfully coped with the tasks on the phone and now I am invited to Amsterdam to talk live. Well, on this I decided to finish this story. It turned out already quite a lot of text, and the topic of the interview in Amsterdam deserves no less detailed coverage. If the audience likes it, I will also publish it here.
PS We are always actively looking for talented IT people: developers (backend, frontend, app), designers, product-ounerov. If you want to join us - write in a personal or social network, I will be happy to answer any questions. I can also send your resume directly to HR to speed up the review process.