#zPierwszejRęki: Jak wygląda rekrutacja do firm z Doliny Krzemowej?
W maju mieliśmy okazję organizować cykl live-streamów z polskimi programistami z całego świata. Wszystko po to, aby pokazać, jak wyglądają realia życia i pracy dla takich marek jak Facebook, Google, Stripe, czy Dropbox. Udało się odpowiedzieć na sporo pytań związanych z życiem programisty w Dubaju, Nowej Zelandii, czy Australii.
Jednym z wywiadów na żywo, który przyciągnął szczególnie sporą widownie, była rozmowa z Maćkiem Bargielem, młodym Polakiem, obecnie pracującym przy Virtual Reality w siedzibie Facebooka w Mountain View. Zapraszam do długiego materiału, a w zasadzie jego pierwszej części, z którego będziesz mógł dowiedzieć się, jak wyglądał staż w Facebooku, a także w czego można oczekiwać na rozmowach rekrutacyjnych w Google, Microsoft, Palantir, PwC czy Metaswitch.
Drugim gościem był Daniel Jastrzębski z bloga Manage IT – praktycznie o karierze w IT.
od lewej na zdjęciu: Daniel, Maciek i Piotrek
Poniżej krótkie bio mojego rozmówcy:
Maciek Bargiel: Żądza przygód wysłała mnie na Oxford, gdzie spędziłem cztery lata studiując informatykę w murach filmowego Hogwartu. Brak skrzatów domowych zmusił mnie do spędzenia ostatniego roku na budowaniu robota zdolnego dostarczać drinki, co przy okazji pozwoliło mi uzyskać tytuł magistra. Tuż po egzaminach zgodnie z tradycją zostałem obrzucony jajkami i wrzucony do rzeki, więc zmieniłem uniwersyteckie szaty na T-shirt i przeniosłem się do Doliny Krzemowej. Od pół roku pomagam Oculusowi i Facebookowi rozwijać platformę Oculus Gear VR, która pozwala ludziom z całego świata na przeżywanie przygód razem z przyjaciółmi, gdziekolwiek i kiedykolwiek zechcą, dzięki magii wirtualnej rzeczywistości.
Spis treści
Piotr Nowosielski: Podczas studiów odbywałeś wiele staży i praktyk, opowiadałeś o tym, co robiłeś w Goldman Sachs (więcej w materiale wideo na końcu), natomiast ja chciałbym się skupić stricte na Twojej przygodzie w Facebooku. Opowiedz najpierw jak wyglądał Twój staż, a później przejdziemy do tego, jak wyglądały inne rozmowy rekrutacyjne do firm z Doliny Krzemowej, w których brałeś udział:
Maciek Bargiel: Staż w Facebooku to było 12 tygodni. Zapewniali wszystko: zakwaterowanie, transport, wizę, wyżywienie i dopinał wszystko od początku do końca. Dostawałeś projekt i kończyłeś go w tym czasie. W moim przypadku był on dosyć szeroki, bo polegał on na tym, aby skłonić ludzi do dodawania większej ilości znajomych na Facebooku, używając aplikacji na iOS. To były takie generalne założenia projektu.
Piotr Nowosielski: I co tam wymyśliłeś?
Maciek Bargiel: To było wiele różnych rzeczy, zmiany w interface, tooltipy, które kierują Ciebie w inne miejsca, zmiany algorytmiczne, aby wyświetlać znajomych w nieco innej kolejności. Generalnie wyglądało to tak, że miałeś pomysł, który musiałeś jak najszybciej wprowadzić, następnie robiło się eksperyment, zbierało wyniki, sprawdziło czy pomaga. Jeśli pomagało, to wypuszczało się do wszystkich, jeśli nie, to próbowało się czegoś innego. Tak przez 12 tygodni. 🙂
Piotr Nowosielski: Podczas stażu współpracowałeś z ludźmi, którzy już byli tam zatrudnieni, czy również z innymi stażystami.
Maciek Bargiel: Pracowałem z ludźmi, którzy już byli tam zatrudnieni, w zasadzie byłem traktowany dokładnie tak, jak członek tej drużyny. Razem z nimi się siedziało, pracowało nie do końca nad tymi samymi rzeczami, bo stażyści mieli swoje projekty, nad którymi mieli się skupiać, ale przez pierwsze parę tygodni dostawało się projekty, nad którymi pracuje cała drużyna, żeby się po prostu przyzwyczaić do technologii używanej, do stylu pracowania, wdrożenia i tak dalej. Później już skupiałem się na swoim projekcie.
Piotr Nowosielski: Odniosę się jeszcze do Twojego stażu w Facebooku vs staż w Goldmanie. Jakie widziałeś główne różnice?
Maciek Bargiel: Główna różnica jest taka, że w Goldmanie nie pracuje się do klienta. Tam programiści, to są drugie skrzypce, bo Twoimi klientami nie są klienci banku, tylko bankierzy Goldmana. Dlatego z tego co robisz, Goldman bezpośrednio zysku nie ma. Dlatego cały ten gigantyczny dział IT nie jest tak istotny jak dział bankowości, czy dział inwestycyjny. Tam bankierzy grają pierwsze skrzypce, Ty masz za zadanie tworzyć narzędzia, które pozwalają im robić swoje.
W przypadku Facebooka, on bezpośrednio czerpie zyski z tego, co robimy. Bezpośrednio tworzymy rzeczy, z których korzystają klienci, bezpośrednio sprawdzamy efekty naszych rzeczy. Więc definitywnie, jeśli chodzi o impact (Facebook bardzo lubi to słowo), no to w Facebooku ma się ten impact dużo, dużo większy.
Piotr Nowosielski: Jeżeli miałeś tak duży wpływ i czułeś się od razu członkiem zespołu. Powiedz, nie było problemu, aby zbić piątkę z Markiem Zuckerbergiem? Jak on taktuje takich ludzi na stażu? Była okazja zbić z nim piątkę, czy raczej on już się tam nie pojawia.
Maciek Bargiel: Traktuje bardzo przyjemnie. Mieliśmy spotkanie z nim, bardzo przyjemna, otwarta osoba. Co piątek spotyka się ze wszystkimi pracownikami, można zadawać mu pytania i sobie z nim pogadać. Faceboook i management Facebooka nie ma nic do ukrycia.
Piotr Nowosielski: Zostałeś zatem przy tym Facebooku i gdy już Ciebie przyjęli, to wiedziałeś, że musisz się wyprowadzić. Jak wyglądał ten etap u Ciebie w życiu?
Maciek Bargiel: W zasadzie już od początku studiów na Oxfordzie mieszkałem w innym kraju, już wtedy wyprowadziłem się z domu, także w zasadzie nie było takiej różnicy między wyprowadzeniem się do Londynu a wyprowadzeniem się do Kalifornii. Najbardziej przeszkadzają te strefy czasowe, bo w Londynie jest się godzinę do przodu, tutaj dziewięć, więc trochę ciężej być w kontakcie ze wszystkimi w Polsce, ale w zasadzie przywykłem już do życia na walizkach.
Nawet tutaj się nieco lepiej żyje, bo na Oxfordzie, co trymestr trzeba było się pakować i wyprowadzać w zasadzie całkowicie ze swojego pokoju. Czyli trzy razy do roku musiałem wynosić wszystkie swoje klamoty do magazynu i po powrocie przenosić wszystko znowu do pokoju. Tutaj nareszcie mieszkam w miejscu, gdzie mogę wszystko zostawić i nie muszę się przeprowadzać co parę miesięcy 🙂
Piotr Nowosielski: Opowiedz o tym, gdzie mieszkasz?
Mieszkam w Mountain View, to średniej wielkości miejscowość, 50 km od San Francisco. W zasadzie cała ta Dolina Krzemowa wygląda tak, że jest to podłużny cypelek, na którego końcu jest San Francisco, a wzdłuż tego cypelka ciągnie się Sillicon Valley. Palo Alto, Menlo Park, Mountain View, bla bla bla… 😉
Na odcinku między San Francisco a San Jose, czyli kolejnym, większym miastem na końcu, są w zasadzie siedziby wszystkich większych firm technologicznych, o których się słyszało. Ja w Mountain View mieszkam naprzeciwko siedziby Google, 20 min stąd jest siedziba Facebooka, w San Francisco jest siedziba Twittera, zaraz obok jest Microsoft (ale nie kwatera główna), jest też tutaj Dropbox. W zasadzie połowa internetu jest tutaj. 🙂
Piotr Nowosielski: Jeżeli chodzi o Twoje mieszkanie. Wynajmujesz je sam, czy jak to wygląda? San Fran słynie z tego, że jest mega drogie, czy nawet dla Ciebie, jak dla programisty FB jest mega drogo?
Maciek Bargiel: hmm… dla mnie nie, ale gdybym nie pracował w Facebooku, to nie byłoby mnie stać, żeby tutaj mieszkać. FB bierze na to poprawkę, bo inaczej nikt by nie chciał pracować w kwaterze głównej ze względu na kwoty.
Domy w San Francisco (mówię o małych domkach, nie willach) to kwota rzędu $1,5-$2M. Wynajem mieszkania ze współlokatorami, niekoniecznie w najbardziej pożądanej dzielnicy, to jest co miesiąc kwota rzędu 1 500- 1 700 USD.
Piotr Nowosielski: Na całe mieszkanie, czy na pokój?
Maciek Bargiel: Na osobę. 🙂 Oczywiście jak ktoś poszuka, to znajdzie coś tańszego, ale poniżej 1 000 USD nie widziałem tutaj żadnej oferty. Najniższa, jaką znalazłem to było 1 200 USD i to w dosyć zaniedbanym miejscu.
Piotr Nowosielski: Poprzednio rozmawiałem z Tomkiem Wiszkowskim, który programuje w Google w Seattle, który przyznał, że wybrał to miasto właśnie ze względu na o wiele niższe koszty życia w porównaniu do San Francisco.
Maciek Bargiel: Google i Facebook bierze na to poprawkę, jak tu jest drogo, dlatego najwięcej zarabia się właśnie tutaj. Na drugim miejscu chyba w Nowym Jorku, bo również jest tam dosyć drogo. Często firmy dofinansowują również mieszkanie, zdając sobie sprawę, że jest to po prostu spory koszt.
Piotr Nowosielski: Jak wyglądał proces rekrutacji do Facebooka?
Maciek Bargiel: U mnie wyglądało to akurat zupełnie inaczej… po prostu na Oxford przyjeżdżali ludzie z innych firm, co dwa tygodnie mieliśmy spotkania z ludźmi z Google, Facebooka, Palantira, którzy opowiadali o tym, jak się tam pracuje i zachęcali do aplikacji, z reguły rozdając jakieś gadżety.
Piotr Nowosielski: Domyślam się, że gadżetami nie były plastikowe długopisy.
Maciek Bargiel: Z reguły jakieś bluzy, głośniki, butelki na wodę, tego typu rzeczy, nic wielkiego.
Piotr Nowosielski: Ok, i jak wyglądała ta rekrutacja?
Maciek Bargiel: Aplikowałem na staż, tam jest nico inaczej. Zaaplikowałem poprzez kolegę, ponieważ ma się wyższe szanse, kiedy się dostaje referrala od kogoś. Miałem już kolegę, który już tam pracował, a podczas spotkania na Oxfordzie, jeden z rekruterów mi to po prostu doradził. Poprosiłem go, aby mnie polecił. Po tygodniu-dwóch, odezwał się do mnie rekruter. Najpierw miałem wstępną rozmowę kwalifikacyjną, takie soft rzeczy, jakie plany na życie, dlaczego chcę pracować tam, tego typu pytania.
Po tym etapie, miałem dwie rozmowy kwalifikacyjne twarde. Czyli takie, że dostałem zadanie i programowałem na żywo z udostępnianiem ekranu. Trwało to około 45 minut, do godziny. Konkretnego zadania nie pamiętam, ale z reguły zaczynają od czegoś prostego. Pierwsze jest banalne, aby sprawdzić, czy w ogóle wiesz, o czym mówią, a dopiero potem dowalają Ciebie tym trudniejszym
Drugie natomiast jest już znacznie bardziej skomplikowane i można je rozwiązać na kilka sposobów. Można je również rozwiązać kompletnie naiwnie, ale z reguły to nie jest najlepsze rozwiązanie 🙂 Jak się pomyśli, można je rozwiązać poprawnie.
Piotr Nowosielski: Jedno spotkanie miękkie i dwa zadania twarde, to w Twoim przypadku wystarczyło?
Maciek Bargiel: W przypadku stażu tak, wystarczyło. Było różnie, niektórzy mieli trzy albo cztery zadania twarde. W zależności od tego, jak Ci pójdzie, możesz mieć ich więcej, lub mniej. Wiele z nich można znaleźć w internecie, polecam wpisać „Google interviews/ Facebook interviews…”, takie przykładowe pytania tam są, można je sobie rozwiązać. Polecam.
Piotr Nowosielski: Przygotowywałeś się jakoś specjalnie do tego?
Maciek Bargiel: Na Oxfordzie jest tak, że od 1 roku aplikujesz na różne staże, także miałem bardzo duże doświadczenie w rozwiązywaniu tego typu łamigłówek, a sporo firm robi w zasadzie do samo. W momencie kiedy aplikowałem do Facebooka, takich rozmów odbyłem chyba z 50 w ciągu ostatnich 3 lat. Co roku aplikowałem do 20 firm. Co roku dostawałem z 5 ofert, ale pamiętam, że co roku spędzałem kilka miesięcy na aplikowaniu do różnych miejsc. Chociażby tylko i wyłącznie po to, aby przyzwyczaić się do procesu rekrutacyjnego, niekoniecznie dlatego, że chciałem tam pracować. Szczerze mówiąc, to jest najlepszy sposób na trening.
Piotr Nowosielski: Faktycznie byłeś nieźle otrzaskany. Sprzedaj może jakieś ciekawostki, jeżeli chodzi o rozmowy kwalifikacyjne w różnych miejscach, które Ci utkwiły w głowie… 🙂
Maciek Bargiel: Tak… pamiętam, że najbardziej zapadła mi w pamięć wizyta w Metaswitch, to taka firma, która zajmuje się urządzeniami do networkingu. Oni reklamowali się, że tam można pracować jako programista, nawet jak się nie umie programować. W praktyce wyglądało to tak, że to były wszystko zadania programistyczne, ale z taką otoczką, jakby to nic nie miało wspólnego z programowaniem.
Np. Było zadanie, gdzie generalnie rozwiązaniem było takie, że trzeba było zaimplementować protokół TCP, tak jakby opisać, na czym on polega. To było rozwiązane w ten sposób, że było dwóch filozofów, którzy przesyłają między sobą kamienne tabliczki, ale one mogą się zgubić… wymyśl sposób, jakiego mogą użyć, aby przesyłać te tabliczki w dobry sposób.
Czyli jak ktoś wiedział, o co chodzi, co to jest TCP, to było to banalne, jak nie, to miał problem. To było prawdopodobnie najbardziej oryginalnie przedstawione pytanie podczas rozmów kwalifikacyjnych, z jakim się spotkałem.
Daniel Jastrzębski z Manage IT: Mówiłeś, że większość zadań się powtarzało. Czy było jakieś takie szczególne zadanie, które faktycznie, powiedzmy po trzecim razie, widziałeś, że masz na to odpowiedź, że to jest to samo, jakbyś miał wrażenie, że rekruterzy korzystają z tego samego podręcznika.
Maciek Bargiel: Nie do końca, bardziej chodzi o typy zadań, które się powtarzają. Z reguły te zadania są dość proste do rozwiązania, kiedy zna się podstawowe struktury danych, czyli, kiedy ktoś zna po prostu podstawy, to większość tych wstępnych zadań jest stosunkowo prosta. Potem, kiedy są te bardziej skomplikowane zadania, one się nie powtarzają nigdy, bo one były już na tyle skomplikowane, że widać, że się do tego przyłożyli.
Pamiętam, że w Google miałem takie dość skomplikowane zadanie na temat wyznaczania wysokości słońca w danym dniu, w danym miejscu. To było jedne z tych zadań, gdzie nie oczekiwali, że je rozwiążesz, tylko chcieli sprawdzić, w jaki sposób myślisz o tym.
W innej firmie, do której aplikowałem – Palantir – dostałem takie zadanie z kostką Rubika. Stwórz jakąś klasę, która tą kostkę Rubika opisuje. Następnie – stwórz algorytm, który pozwoli tą kostkę Rubika rozwiązać. Ja jako osoba, która widziała kostkę, ale nigdy w życiu jej w rękach nie miałem, to samo stworzenie tego algorytmu było dosyć skomplikowane, ale przynajmniej tą pierwszą część mogłem zrobić, bo wiedziałem, jak działa. Tego typu zadania się dostaje, nie zawsze firmy oczekują, że się rozwiąże, bardziej sprawdzają po prostu tok myślenia.
Daniel Jastrzębski z Manage IT: Jakie było najbardziej absurdalne pytanie, czy zadanie, które kiedykolwiek dostałeś?
Najbardziej absurdalne, to było z tymi filozofami, ale dostałem jeszcze jedno, w stylu „ile jest okien w San Francisco”. Był to prawdopodobnie również Metaswitch, ale głowy sobie nie dam uciąć… to było pytanie, dlaczego wejścia do studzienek kanalizacyjnych są okrągłe…
Daniel Jastrzębski: Tak, to w sumie klasyka, myślę, że ktoś, kto siedzi w branży rekrutacyjnej, powinien to pytanie doskonale kojarzyć.
Maciek Bargiel: Okej, tylko później był follow up, gdzie pytali mnie o wszystkie inne kształty. Czy może być kwadrat? czy może być trójkąt równoramienny, prostokątny…? i tak dalej. Pamiętam, że ciągnęli tak godzinę na temat różnych kształtów i studzienek kanalizacyjnych. 🙂
Daniel Jastrzębski: I jak wypadłeś?
Maciek Bargiel: Dostałem ofertę, także chyba nie najgorzej.
Jednak jeszcze aby dać nieco innym więcej przykładów, jak to wygląda w innych firmach. Byłem na rozmowach w Microsoftcie, PwC i kilku innych.
Piotr Nowosielski: Czy w Microsoft było coś nietypowego, co Ciebie zaskoczyło?
Maciek Bargiel: Był jednak nieco inny, jak sobie wyobrażałem w dzieciństwie, gdzie zawsze chciałem być programistą Microsoftu. Aplikowałem do biura w Irlandii w Dublinie, dość ciekawe, mniej więcej na podobnym poziomie co Facebooka czy Google. Jednak sam proces rekrutacji był inny, w Microsoft znacznie mocniej odczułem, że jest to korporacja, gdzie ludzie, z którymi rozmawiam, nie mają aż tak wiele do powiedzenia, że cały ten proces jest dużo bardziej korporacyjny.
Za to zadania programistyczne były trochę prostsze w porównaniu z FB czy Google. Na końcu dawali jeszcze zadanie z projektowania systemów. Dostałem zadanie by zaprojektować system baz danych. Szczerze mówiąc, to było dość dziwne, bo polecenie było dosłowne – zaprojektuj system baz danych. No i.. ok.. ale na jakim poziomie. Czy ja mam to napisać, czy ja mam powiedzieć, jak to działa? Po co ta baza danych ma być? Ale wydaje mi się, że taki mógł być cel, aby zobaczyć, jak podejdę do tego zadania.
Wszystkie zadania Microsoftu były rozwiązywane nie na komputerze, tylko na tablicy (whiteboard). Większość firm, do których rekrutowałem i rozmawiałem w 4 oczy, jednak zdecydowanie wolały whiteboard programming, od programowania na żywo. Wyjątkiem był Facebook, gdzie zadania rozwiązywałem przed komputerem, zdalnie, ale to zwyczajnie z racji odległości, jak mieszkałem w UK.
Google dał mi jeszcze wyjątkowo chromebooka, abym mógł sobie na nim pisać, bo stwierdzili, że nie będą mnie męczyć z tą tablicą, ponieważ mój charakter pisma jest masakryczny, więc uznali, że nie będą torturować mnie i rekrutera. Nie oczekiwali też, że ten kod się skompiluje, tylko chcieli zobaczyć, jak ja piszę. Co ma sens, bo oblać całą rozmowę kwalifikacyjną z tego powodu, że się omija apostrof, to byłoby raczej słabo.
—————————
Koniec części 1. W kolejnym materiale poznasz zdecydowanie więcej na temat tego, jak wygląda praca Maćka, a także co robi twórca Quake’a w Facebooku przy Virtual Reality 🙂
Pełny materiał dostępny jest w tym miejscu: