Dwa razy rozmowa kwalifikacyjna w Google wymykała się z moich rąk.

W końcu, z początkiem nowego roku odbyłem pierwszą rozmowę. W dwa dni później skontaktowano się ze mną w sprawie drugiej. Bilans został więc wyrównany.

Jak się okazało, więcej rozmów nie było potrzebnych.

Przed dalszą lekturą polecam przeczytanie poprzednich części: pierwszej, drugiej oraz trzeciej.

Logo Google

Przed drugą rozmową...

Dwa dni po pierwszej rozmowie kwalifikacyjnej dostałem maila od Alex z zaproszeniem na kolejną w trybie ASAP. Odpowiedziałem, kiedy jestem dostępny, i po kolejnych czterech dniach Vivian umówiła mnie na kolejną rozmowę na 15:30 we wtorek piątego lutego.

Przy okazji miałem sposobność zauważyć, że w proces rekrutacji pojedynczej osoby do Google zaangażowanych jest wiele osób, zaś maile są komponowane z gotowców. Niby nic odkrywczego, jednak ich forma jest tak przystępna, że można się łatwo nabrać i sądzić, że ktoś przykładał do nich więcej czasu, aniżeli na zwykłe kopiuj - wklej.

Zapytałem jeszcze, z kim będę rozmawiał i czy mogę dostać jego adres mailowy, bowiem ostatnio chat w Gmailu bardzo się przydał. Niestety Vivian zrozumiała moją prośbę jako pytanie o adres pierwszego rozmówcy i zaproponowała, że przekaże mu moją chęć skontaktowania się z nim. Wyjaśniłem sytuację w kolejnym mailu, lecz pozostał bez odpowiedzi.

Nastał upragniony wtorek...

...i nastała także sesja.

"Szczęśliwym" zbiegiem okoliczności, obłożyła mi dokładnie rozmowę kwalifikacyjną. Do ostatnich godzin próbowałem wszystko pogodzić.

O godzinie 10:14 we wtorek wiedziałem już, że nie zdążę na rozmowę. Wystosowałem więc na prędce maila do Vivian z wytłumaczeniem i propozycjami alternatywnych terminów. Odpowiedź jednak nie nadchodziła, a czas działał na moją niekorzyść - musiałem wkrótce wyjechać do Krakowa. Marii niestety także nie było online, a decydującą rolę zaczynały już odgrywać minuty.

W końcu pojawiła się moja szansa - na chacie, zwana Marią. Szybko napisałem, w czym rzecz. Okazało się, że rozmowa została przełożona na godzinę 16:00 (o czym najwyraźniej ktoś zapomniał mnie poinformować...). Maria kolejny raz uratowała mi skórę, przekładając rozmowę na piątek 8. lutego o godzinie 15:30. Od Marii dowiedziałem się, że rozmowa będzie prawdopodobnie z tą samą osobą, co jednak nie potwierdziło się w wysłanym przez nią kilka chwil później mailu potwierdzającym zmianę: moim rozmówcą miał być Per.

Korzystając z okazji zapytałem, ile zazwyczaj trzeba rozmów, by dostać się do Google. W Internecie czytałem, że średnio 6, choć niektórzy pisali i o 20. Maria rozwiała jednak te pogłoski: na staż zazwyczaj wystarczają 2-3 rozmowy, zaś przy przyjmowaniu na pełny etat wykonuje się 2 rozmowy telefoniczne i 4 na żywo w siedzibie firmy.

Trochę obawiałem się, że drugie już przełożenie rozmowy może negatywnie wpłynąć na proces rekrutacji. Maria po południu uspokoiła mnie jednak pisząc:

No worries about the re-scheduling. it happens all the time

Stwierdziła też, że zazwyczaj do kolejnych rozmów werbuje się innych pracowników (odwrotnie, aniżeli pisała wcześniej...) - dwóch, czasem nawet trzech. Z tego wywnioskowałem, że ta druga rozmowa może być ostatnią i decydującą.

Rozmowę czas zacząć!

Wreszcie nastał piątek. Podobnie jak poprzednio, zapewniłem sobie względny spokój i relaks, otworzyłem także te same witryny (również ponownie zbędne) i czekałem...

...aż do godziny 15:26. Wtedy coś dziwnego mnie tknęło i podniosłem słuchawkę domowego telefonu.

Cisza.

Do dziś nie wiem, dlaczego telefon nie działał. Zadzwoniłem z komórki - "abonent czasowo niedostępny". Do rozmowy pozostały cztery minuty. Szczęśliwie, Maria była online. Kilka szybkich wyjaśnień i okazuje się, że Per i tak miał zadzwonić na moją komórkę.

I zadzwonił

Czego mogłem się spodziewać po moim SE K750i, jakość dźwięku była marna w obu kierunkach. Model ten ma bowiem słaby głośnik, zaś tryb głośnomówiący jest jeszcze gorszy: duży głośnik zamontowany jest z tyłu telefonu, skutkiem czego rozmówcę słyszą wszyscy dookoła, tylko nie ja. Jakoś jednak zdołaliśmy się porozumieć i rozpoczęła się właściwa rozmowa.

Pierwsze pytanie mnie dosyć zaskoczyło:

Dlaczego chciałbyś pracować dla Google?

Fakt: wszędzie piszą, że to rutynowe pytanie. Google jednak samo w sobie nie jest rutynowe, tak samo poprzednia rozmowa miała raczej niecodzienny przebieg. Zapomniałem powiedzieć najważniejszego: chcę pracować w Google, ponieważ to jest forma pomagania innym ludziom, którą faktycznie mogę udoskonalać w sposób widoczny na codzień.

Pytanie drugie nie było już z kategorii rozgrzewkowych:

Jaka jest różnica między metodą przesyłania danych GET a POST?

Na szczęście, kodując w PHP od lat, mogłem udzielić długiej i precyzyjnej odpowiedzi. Per zapytał także o enkodowanie w obu przypadkach.

Jeśli wysyłamy obrazek, to którą metodą i jak odbywa się transfer?

Precyzyjniej: chodzi o wysyłanie obrazka załączonego przez formularz na stronie.

Jak przyspieszyć przeglądanie stron, będąc użytkownikiem?

Pytanie to w zasadzie było podobne do zadanego mi w czasie pierwszej rozmowy. Zacząłem więc mówić o wielu możliwościach, jednak Per przerwał mi i spróbował nakierować na to, co ma na myśli:

Jak zaprojektować nowy protokół, by przyspieszyć przesył danych?

Dane miały być odtwarzalne w przeglądarce, nasunęła mi się więc myśl o wykorzystaniu XML oraz modyfikacji pewnych komend zaimplementowanych w protokole HTTP. Podałem moje pomysły na przyspieszenie transferu przez optymalizację powyższych z uwzględnieniem struktury danych, które będziemy przesyłać w nowym protokole.

W tym momencie miałem już podejrzenia, że Per (w odróżnieniu od Mikaela) czytał moje CV. Zadawał pytania z mojej dziedziny, a kolejne mnie tylko w tym przekonaniu utwierdziło:

Co jest według Ciebie najważniejsze w prowadzeniu zespołu? Jak podejmować relacje z klientami?

Miałem w CV punkt, iż mogę prowadzić zespół. Takiego pytania się jednak nie spodziewałem (w końcu miałem być tylko stażystą), ale udzieliłem obszernej i zadowalającej odpowiedzi, wskazując przede wszystkim na przyjazne kontakty szefa z podwładnymi (informację, iż to jest kluczowe w Google, zaczerpnąłem już dużo wcześniej przy okazji wykładu tejże firmy).

Rozmowa zaczęła zmierzać z teorii, ku praktykyce:

Co to są tabele haszujące? Co jest w nich najważniejsze?

Jakoś byłem rozkojarzony, bo zacząłem mówić o funkcjach haszujących... Szybko jednak wróciłem na właściwy tor, Per zaś kontynuował temat:

Mamy książkę telefoniczną z danymi teleadresowymi. Jak zaprojektować optymalną funkcję haszującą?

Dla doświadczonego programisty pytanie jest dosyć proste, pokusiłem się też więc o wymyślenie odpowiedniej struktury danych dla takiego przykładu.

Perowi wyraźnie spodobała się odpowiedź ("I'm satisfied with that"), zadał więc dodatkowe pytania:

Mamy listę liczb całkowitych i liczbę finalną (ang. target). Jak zaprojektować funkcję, która sprawdza, czy suma dwóch danych liczb jest równa targetowi?

Jak to przyspieszyć?

Co, jeśli wykonujemy tę funkcję wielokrotnie dla różnych targetów? Jak ją wtedy przyspieszyć?

Per zadawał w tej kwestii wiele dodatkowych pytań, a ja wymyślałem różne rozwiązania, np. stworzenie struktury danych wskaźników dla pewnych zakresów sum dwóch liczb. Ogólnie przykład mimo swej prostoty daje spore pole do popisu pod względem opracowywania sposobu szukania i optymalizacji zapytań: wiadomo, że kluczową operacją będzie pewnego typu porównanie, ale mamy duży wpływ na to co, w jakiej kolejności i z czym będzie porównywane.

Te pytania zajęły większość z około godzinnej rozmowy. Per był wyraźnie zadowolony z odpowiedzi, zadał więc ostatnie, teoretyczne pytanie:

Oglądasz film. Jedzie w nim samochód, przyspiesza. W pewnym momencie wydaje się, że koła "zatrzymują się" (nie widzimy, że przyspieszają). Jak oceniłbyś prędkość samochodu?

Pytanie faktycznie było z zupełnie innej bajki, niż dotychczasowe. Pierwszy pomysł nasuwa się sam: wziąć pewne punkty odniesienia i zmierzyć czas przejazdu i odległość między nimi. Per sprecyzował jednak, że nie o to mu chodzi (wszak oglądając film raczej nie zdążymy wykonać pomiarów).

Niezbyt wiedziałem, do czego Per zmierza - odrzucał każdy mój pomysł. Podpowiadał, że rozwiązanie ma pewien związek z kołami, więc zasugerowałem, że gdyby zobaczyć pewne punkty odniesienia np. na oponie, można powiązać je z czasem robienia pełnego obortu, obwodem koła i wywnioskować prędkość samochodu. Per na to, że mniej więcej to miał na myśli. Pozostałem jednak zaintrygowany, bowiem wcześniej negował pomysł z punktami odniesienia. Faktycznie sposób pomiaru był jednak inny, tak jak punkty odniesienia, więc może faktycznie tylko nie wiedział, jak nakierować mnie na to, o co mu chodzi.

To było ostatnie pytanie, jakie dla mnie miał, więc zadałem swoje:

Jak odbywa się programowanie w Google i sprawdzanie oraz korekta kodu?

Konkretnie miałem na myśli sposób czuwania nad kodem i wykrywania błędów. Dowiedziałem się, że programiści pracują w parach, sprawdzając siebie nawzajem. Jest także pewien rodzaj forum, na którym recenzowane i oceniane są kody. Forum należy rozumieć tu jako system, nie zaś faktyczną aplikację.

Z moich pytań wynikło także, iż 20% czasu przeznaczonego na projekty własne wykorzystuje się w czasie wolnym (który się zdarza najczęściej między kolejnymi projektami) i jest to rzecz w Google niezwykle ceniona.

Dowiedziałem się również, że zespoły otrzymują zlecenia na pewne udoskonalenia i wykonują je w całości - pewne osoby zajmują się grafiką, pewne animacjami, kolejne kodowaniem. Z tego można wywnioskować, że produkty i usługi Google nie są dziełami przypisanymi ściśle do konkretnych zespołów, lecz są efektem mariażu pracy wielu teamów.

Co ciekawe, tym razem nie stworzono dokumentu do wymiany tekstu pisanego - nie wiem, czy to pominięto, jednak z rozmowy z Perem wynikało, że takowy nie był nawet w planach.

Na koniec warto dodać, że Per był dużo przyjemniejszym rozmówcą, aniżeli Mikael (choć nie mogę powiedzieć, by ten był niemiły). Więcej się śmiał, czasem wrzucił jakiś żart. Rozmowa była na luzie, chociaż z początku musiałem przywyknąć do swobodnego mówienia po angielsku. Po kilku minutach słowotok był już nieskrępowany.

Pożegnałem się z Perem z lekkim żalem, że nie mam kontaktu do tego człowieka. Z drugiej strony, jeśli mnie przyjmą, pewnie taki kontakt nawiążę face to face. Dodałem tylko, że mam nadzieję jeszcze z nim kiedyś rozmawiać, na co usłyszałem:

Jestem tego absolutnie pewien! 100%!

To faktycznie była decydująca rozmowa

Rozmowa przebiegła bardzo dobrze. Per był zadowolony, ja również. Przyszło mi więc tylko czekać na kolejnego maila: Maria stwierdziła, że w ciągu tygodnia powinienem dostać jakąś odpowiedź.

Tydzień minął, odpowiedzi nie było. Brałem to jednak za dobry znak: wszak jeśli chce się kogoś zatrudnić, trzeba to dokładnie omówić, zaś odmówić można już kolejnego dnia.

Po dziesięciu dniach otrzymałem wiadomość od Alex o treści:

Hi XXXXX,

We would like to thank you for your interest in internship opportunities with Google and for taking the time to interview. We carefully reviewed your background and experience, and though we do not have a position that is a strong match with your qualifications at this time, we will be keeping your resume active in our system. We will continue to use our database to match your profile with new opportunities and will reach out to you if we find an opening for which you may be qualified.

Thanks again for your interest in Google's careers and unique culture; we hope you will remain enthusiastic about our company.

Niesmak to zbyt słabe słowo na moją reakcję.

Z początku nie wierzyłem w swoje siły - jestem przecież dopiero na II roku studiów, nie mam też zbyt wielkiego doświadczenia. Z czasem jednak i pewnymi sukcesami oraz za dopingiem bliskich i Marii zacząłem traktować sprawę poważnie, a po pierwszej rozmowie miałem już świadomość, że ten sen może się ziścić.

Najbardziej bolesna w tej odpowiedzi była z pewnością pierwsza linijka. Poczułem się jak jeden z wielu, choć byłem jedynym kandydatem na to stanowisko. Komuś nie chciało się nawet wpisać mojego imienia. Pewnie to tylko przeoczenie, ale jakże bolesne.

Czas na refleksje...

Czemu poległem na prawdopodobnie ostatnim etapie? Sądzę, że nie poległem. Druga rozmowa poszła mi dużo lepiej niż pierwsza, od rozmówcy dało się wyczuć, że faktycznie da mi jak najlepsze oceny. Zgaduję, że to team leader odrzucił przyjęcie na staż. Może się rozmyślił, może poskąpił... Z pewnością wina nie leży po stronie pierwszej rozmowy (ponieważ zaproponowano mi drugą), a dialogu z Perem w żadnym wypadku nie mogę zaliczyć do nieudanych. Tak bywa.

W tym samym czasie trafiłem na kilka blogów ludzi, którzy także odbywali rekrutację w Google i mimo (jak deklarowali) świetnych odpowiedzi na pytania, byli odrzucani. Możliwe, że Google szuka geniuszów, a nie ludzi ledwie dobrych w swoim fachu. W końcu mają do tego pełne prawo i z pewnością wiedzą, co robią.

Rekrutacją do Google żyłem wiele miesięcy, a doświadczenie przy niej nabyte jest nieporównywalne z efektami innych prób aplikowania o pracę. Udało mi się poczuć klimat tej firmy, mimo, że w niej nie pracowałem. Poznałem wiele osób, dowiedziałem się wielu rzeczy, przeżyłem wspaniałe chwile.

Pozostała mi tylko jedna rzecz do zrobienia: wysłanie listu do Marii. Ta jedna osoba zrobiła dla mnie mnóstwo dobrego i dostanie porządny uścisk, gdy ją zobaczę kolejny raz ;)

Naturalnie, Maria odpisała. Po odpowiedzi wciąż sądzę, że jest faktycznie przekonana o przeznaczeniu mnie dla tej firmy. Z pewnością kontakt się nie urwie całkowicie.

Co będzie dalej?

Ja natomiast zaniedbałem projekty autorskie i wiele innych spraw. Czas teraz na nie, włącznie z rozwojem bloga. Może ponownie zajmę się publicystyką, może wreszcie pójdę na filozofię. Z pewnością więcej czasu poświęce Madzi, którą serdecznie pozdrawiam :)

Co do Google... Teraz to bardziej kwestia honoru, niż ambicji.

Próbować będę do skutku - pewnie kolejny raz w czasie wakacji.

Nie omieszkam wspomnieć ;)

  • Dodaj lub śledź Atom dla komentarzy komentarze
  • Kategorie wpisu: Codzienność, Informatyka, Praca, Techblog, Wszystkie
  • Trackback do wpisu (?)
  • Dodaj do Ma.Gnolia Dodaj do del.icio.us Dodaj do Digg.com Dodaj do StumbleUpon Dodaj do Google Reader lub Google IG