Jak dostać pracę w Google?

Istnieją trzy sposoby, aby dostać pracę inżyniera/programisty w Google. Pierwszy - być tak profesjonalnym i znanym, że rektuterzy Google sami złożą ofertę. Drugi - wysłać CV w odpowiedzi na ogłoszenie o rekrutacji. Trzeci - zostać "kupionym" wraz ze startupem, w którym się pracuje (tzw. acqu-hire).

Jak dostać pracę w Google?
Na temat pracy w firmie, która od lat prowadzi w rankingach najlepszych pracodawców na świecie, opowiada Ryszard Szopa, polski programista w należącym do Google serwisie YouTube. Korzystając z krótkiej obecności Ryszarda Szopy w Polsce, przeprowadziliśmy z nim wywiad, w którym podzielił się wrażeniami z procesu rekrutacji i codziennej pracy w Googlepleksie - siedzibie głównej Google w Dolinie Krzemowej.

Internet Standard: Jak wygląda proces rekrutacyjny do Google?

Ryszard Szopa: Proces rekrutacyjny może trwać dość długo. Na pierwszym etapie pracownik działu HR przeprowadza wstępną rozmowę, która ma na celu odrzucenie kandydatów w oczywisty sposób nienadających się do pracy w Google. W ten sposób oszczędza się czas inżynierów, którzy dołączają do procesu rekrutacji na dalszych etapach. Jeśli kandydat przejdzie wstępną weryfikację pomyślnie, to następnie odbywa kilka rozmów telefonicznych z pracownikami Google. Dotyczą one algorytmów i programowania oraz ogólnej wiedzy informatycznej. Rozmowy te są dość trudne i trwają zazwyczaj około godziny. Jeżeli kandydat wykaże się odpowiednią wiedzą i zrobi dobre wrażenie, Google zaprasza go do biura firmy, w którym miałby pracować, na całodzienną sesję rekrutacyjną. Firma oczywiście opłaca przelot, hotel, itp.

Podczas następnego etapu pięć osób odbywa godzinne rozmowy z kandydatem. Większość z tych sesji polega po prostu na rozwiązywaniu zadań programistycznych przy tablicy. Przypomina to serię trudnych egzaminów. Jedna z osób rekrutujących zaprasza kandydata na lunch - daje to potencjalnemu googlersowi moment wytchnienia i okazję do zadania najróżniejszych pytań na temat codziennej pracy w Google.

W procesie rekrutacji oceniane są nie tylko umiejętności techniczne kandydata, ale także jego dopasowanie kulturowe do firmy (nazywane także googliness). Google szczyci się miłą atmosferą pracy i wszystkim pracownikom zależy, aby ją utrzymać.

Po rozmowach zespół rekrutacyjny analizuje feedback od inżynierów przeprowadzających rozmowy kwalifikacyjne i na ich podstawie decyduje, czy kandydat będzie odpowiednim dla firmy pracownikiem. Na ostatnim etapie procesu rekrutacyjnego komitet ofertowy ustala, jakie warunki zaproponować nowemu pracownikowi.

To co opisuję to jest proces rekrutacji dla programisty, do projektu podobnego do mojego. Na inne stanowiska może wyglądać zupełnie inaczej

IS: Czy Google zadaje słynne, kreatywne pytania, na przykład "Dlaczego studzienki ściekowe są okrągłe?"

RS: Rekruterzy Google, wbrew legendom, nie lubią tego typu "kreatywnych" pytań - a przynajmniej ja się z takimi nie zetknąłem. Być może pojawiają się podczas rekrutacji do pionu biznesowego. Programiści są raczej odpytywani z algorytmów, ze znajomości Linuksa, obsługi sieci komputerowych oraz podobnych spraw bezpośrednio związanych z ich pracą.

Większość pytań dotyczy algorytmów i struktur danych. Regułą jest, że jeżeli pytanie "wypłynie" i pojawi się na jakimś blogu albo forum, rekruter nie ma prawa go więcej zadać (istnieje specjalny zespół, który monitoruje "spalone" pytania). Oczywiście, w ramach przygotowywania się do spotkania, warto poszukać w Internecie zapisków innych uczestników procesu rekrutacyjnego. Pytania nie będą takie same, ale w podobnym stylu. Na Amazonie są też dostępne książki na temat przygotowywania się do tego typu rozmowy - niektóre z nich są całkiem niezłe.

IS: Co trzeba umieć, by dostać pracę w Google?

RS: Praca inżyniera Google polega często na rozwiązywaniu problemów zupełnie innego typu niż te, którymi zajmował się w "normalnych" firmach. Dzieje się tak przede wszystkim ze względu na dużo większą skalę działania. Nie jest niczym dziwnym mówienie o terabajtach danych, milionach użytkowników, tysiącach zapytań na sekundę, itd. Większość kandydatów miała nikłe szanse zetknąć się z tego typu zagadnieniami w swojej wcześniejszej karierze zawodowej. W związku z tym cały proces rekrutacyjny nie skupia się na tym, co kandydat już potrafi, a na tym, czego będzie w stanie się nauczyć. Stąd bierze się nacisk na rozwiązywanie problemów algorytmicznych. To jest papierek lakmusowy potwierdzający, że kandydat będzie potrafił myśleć, jak inżynier Google.

Oczywiście warto umieć programować w jakimś języku używanym w Google (C++, Java, Python, Javascript) - choćby po to, aby rekruterowi było łatwiej zrozumieć, co piszemy na tablicy. Ale świetny informatyk zostanie zatrudniony bez względu na to, czy zna się na jakiejś konkretnej technologii.

Google bardzo chętnie zatrudnia ludzi z dobrych szkół, takich jak Massachusetts Institute of Technology (MIT) albo Stanford. Jednak dyplom elitarnej uczelni nie jest nieodzownym warunkiem dostania się do Google. Jestem tego przykładem - studiowałem przez 5 lat... filozofię na Uniwersytecie Warszawskim i nie napisałem pracy magisterskiej.

Rekruterów interesuje też, z jakiego rodzaju osobą mają do czynienia. Starają odpowiedzieć sobie na pytania: Czy polubię tę osobę? Czy będzie mi się dobrze z nią pracować? Przecież nie jest wykluczone, że spędzą wspólnie następnych kilka lat, siedząc biurko w biurko.