Facebook znalazł mnie na LinkedInie — Mariusz Lisiecki
Mariusz Lisiecki, Software Engineer w Facebooku, swoją przygodę z programowaniem rozpoczął na studiach. Stworzył wtedy, wraz z kolegami, grę na iOSa. Tak zaczęło się jego zafascynowanie tym systemem, jak i samym tworzeniem aplikacji mobilnych. Doprowadziło ono do tego, że znalazł pracę w Roche, Allegro, a później w samym Facebooku. W jaki sposób dostał się do firmy Marka Zuckerberga? Okazuje się, że proces rekrutacji przebiegał bardzo sprawnie i trwał dość krótko.
Spis treści
Zanim przejdziemy do tego, jak pracuje się w Facebooku — pytanie na początek. Gdzie i w jaki sposób nauczyłeś się programowania?
Może zabrzmi to dość niespodziewanie, ale programować nauczyłem się dopiero na studiach. Owszem, w gimnazjum czy liceum były jakieś niemrawe próby z Pascalem, ale w tym okresie życia komputera używałem głównie w celach rozrywkowych. Dopiero studia uświadomiły mi, że jeżeli chcę poważnie myśleć o karierze programisty, muszę ostro siąść do nauki, bo na roku miałem sporo osób, które nie tylko znały już biegle niejedną technologię, ale też i miały już za sobą komercyjne zlecenia. Trzeba było zatem „gonić czołówkę”. Rzetelnie więc wykonywałem projekty na zajęcia oraz doczytywałem wieczorami klasyki pokroju „Thinking in Java”. Punktem zwrotnym było też rozpoczęcie pracy na 7 semestrze studiów. Myślę, że każda osoba z branży potwierdzi, że nie ma lepszego sposobu na naukę niż praca nad prawdziwym projektem.
Na czym polegało pierwsze komercyjne zlecenie, które pozyskałeś? Z jakimi problemami spotkałeś się?
Jeżeli nie liczyć projektu ze studiów, kiedy to dostałem bodajże 50 zł i butelkę Viaguary (napój spirytusowy na bazie guarany, dziś już niedostępny w sklepach, niestety) za samodzielne napisanie projektu przewidzianego dla pięcioosobowej grupy, to… Pierwsze zlecenia zacząłem dostawać w 2008 roku od firmy SuperMemo World sp. z o.o., która pracowała nad aplikacją do nauki języków obcych na iOS (wtedy jeszcze znanym jako iPhone OS). Aplikacja była początkowo tworzona przez zewnętrzną agencję, a ja zajmowałem się jej testowaniem. Po kilku miesiącach zarząd stwierdził, że będzie lepiej kiedy przejmę ten projekt „na siebie”. I tak zaczęła się moja przygoda z iOSem.
Podstawowym problemem było wtedy dla mnie to, że nie znałem ani platformy, ani języka programowania (Objective-C) i trzeba było nadrabiać. No i z racji tego, że programowanie na iPhone dopiero zyskiwało na popularności, mało było też tutoriali w internecie, raywenderlich.com chyba jeszcze wtedy nie istniał, więc czasami ciężko było o materiały do nauki. Miałem o tyle dobrze, że przejmowałem kod pisany przez profesjonalnych programistów, więc uczyłem się też na bazie tego kodu.
Czym zajmowałeś się zanim przeniosłeś się do londyńskiej siedziby Facebooka?
Po SuperMemo, pracowałem dla Roche, a następnie dla Allegro. W każdej z tych firm pracowałem jako programista aplikacji iOS. W Allegro, po mniej więcej dwóch latach, awansowałem na stanowisko Team Leadera i byłem odpowiedzialny za cały poznański zespół iOS (a później także i wrocławski). Także do momentu dołączenia do Facebooka praktycznie cała moja kariera kręciła się wokół iOSa.
Dzisiaj jeśli wanna be developer spojrzałby na Twoją ścieżkę kariery to pewnie zdziwiłby się. Oprócz pracy na wielu programistycznych stanowiskach, byłeś też wykładowcą. Potrafisz ocenić, kto nadaje się na programistę, a kto nie?
Szczerze mówiąc, spotkałem w swoim życiu ludzi, o których na początku w życiu nie powiedziałbym, że odnajdą się w tej branży. A później okazywało się, że jednak dawali radę. Natomiast myślę, że potrafię ocenić, kto nadaje się na naprawdę dobrego programistę. Potrzeba wiedzy, zdolności i determinacji – i przede wszystkim ciężkiej pracy.
Jak Facebook odebrał Twoją ścieżkę kariery? To, że imałeś się różnych zajęć pomogło w Twojej kandydaturze?
Na pewno tak! Natomiast warto zaznaczyć, że wykładanie na uniwersytecie czy prowadzenie szkoleń iOS było czymś dodatkowym, co robiłem równolegle z pracą na etacie. Facebook na pewno spojrzał na to przychylnie z racji tego, że zależy im na osobach, które mają doświadczenie w szkoleniu innych. Jest to potrzebne zarówno w codziennej pracy zespołu, jak i szkoleniu nowych rekrutów (w Facebooku pierwsze kilka tygodni to tzw. bootcamp, gdzie przechodzi się przez szereg szkoleń i zadań z różnych technologii używanych w firmie).
Jak przebiegała sama rekrutacja? Było jakieś zadanie rekrutacyjne?
Słysząc od kolegów z branży o mającym nawet 9 etapów procesie rekrutacji do pracy w Stanach Zjednoczonych, byłem zaskoczony jak sprawnie i szybko przebiegła moja rekrutacja do Facebooka. Najpierw była krótka rozmowa telefoniczna z rekruterem, gdzie oprócz przedstawienia z obu stron było kilka pytań przesiewowych, potem zdalna rozmowa techniczna z inżynierem i na koniec całodniowy „onsite interview”. Żadnych dodatkowych zadań do zrobienia w domu, co osobiście odbieram na plus.
Nie chciałeś pracować zdalnie czy Facebook nie zgodziłby się na taki tryb?
Nie rozmawialiśmy o tym. Osobiście, nie bardzo lubię pracować zdalnie — dużo łatwiej skupić mi się w biurze. Druga rzecz, że Facebook pewnie i tak by się nie zgodził.
Jak dużą swobodę masz dzisiaj? Możesz kilka dni w miesiącu pracować zdalnie?
Dopóki nie jest to reguła i nie utrudnia pracy zespołu, to tak, można. Można również część dnia spędzić w domu, resztę w biurze, pracować jednego dnia dłużej, innego jeszcze dłużej … wróć, krócej 😉 Pełna elastyczność. Ale to chyba już w miarę standard w branży.
Od razu zgodziłeś się na ich propozycję wynagrodzenia? W jej skład wchodził pakiet relokacyjny, akcje Facebooka?
Może to był błąd, ale nie negocjowałem. Jednakże, przed złożeniem mi oferty zapytali mnie, jakie mam aktualne warunki i czego bym oczekiwał (trochę ciężko było mi to oszacować, bo nie znałem za bardzo realiów londyńskich). No i po prawdzie, pieniądze nie były najistotniejszym czynnikiem, jeśli chodziło o podjęcie decyzji o ofercie. Dużo istotniejsza dla mnie była możliwość pracy w międzynarodowym środowisku, czego zawsze chciałem spróbować. Tym bardziej, że oferta była nie od “najszybciej rozwijającego się startupu w Londynie” (jednego z tysiąca, mówiąc dokładniej), ale od bardzo rozpoznawalnej marki.
I tak, w ofertę wchodził bardzo solidny pakiet relokacyjny i akcje. Szkoda tylko, że na tych drugich więcej zyska fiskus brytyjski niż ja (dosłownie, podatek od tych akcji w UK jest wyższy niż, to co dostajesz — przynajmniej w moim przypadku!).
Pracowałeś w różnych firmach i pewnie potrafisz ocenić warunki, które sprzyjają rozwojowi umiejętności. Jak jest w Facebooku? W jaki sposób podnosisz tam swoje skille?
Jest z czego wybierać. Oprócz standardowych szkoleń (co ciekawe, głównie prowadzonych przez innych pracowników) czy konferencji, jest bardzo dużo hackathonów, gdzie można podjąć się właściwie dowolnego tematu. Można zmieniać zespoły i technologie – na stałe lub tymczasowo (np. na 1 miesiąc). Same zespoły są bardzo otwarte na to, nad jakim tematem dany pracownik chce pracować. No i sami ludzie – poziom jest bardzo wysoki, więc zwyczajnie jest się od kogo uczyć.
A jak wygląda sama ścieżka kariery w Facebooku? Jak zostać liderem zespołu albo pójść jeszcze wyżej?
W Facebooku zostanie managerem nie traktuje się jako awans, a jako zmianę ścieżki kariery. Zarówno inżynierowie, jak i managerowie mają poziomy i awansem jest przejście na wyższy poziom. Także można pozostać inżynierem tak długo jak się chce i zawsze jest kolejny poziom, na który można wskoczyć. Ma to według mnie sens, bo nie dochodzi się zatem do ściany, jak w wielu innych firmach, że zostajesz Seniorem i koniec – jak chcesz dalej awansować to tylko na managera. A przecież nie każdy programista będzie dobrym managerem (i na odwrót). Warto jednak dla ścisłości zaznaczyć, że w Facebooku każdy kolejny poziom jest dużo trudniejszy niż poprzedni, także na najwyższych poziomach są tylko totalni wyjadacze, często „gwiazdy” (w sensie prawdziwe perełki, nie celebryci) branży. Niemniej uważam, że lepiej, kiedy barierą do awansu są czyjeś predyspozycje, a nie sztywne reguły organizacji.
Myśląc o pracy w dużej korporacji zawsze pojawia się temat udziału w rozwoju firmy, jej produktów. Jaki wpływ na rozwój Facebooka ma przeciętny developer zatrudniony w firmie?
To zależy od kilku czynników. Od tego, jak dobry jest dany developer oraz od tego, nad czym pracuje. Czasami jedna prosta optymalizacja może przynieść firmie milionowe zyski (gorzej, jeśli straty). Raz w tygodniu osoba, która wykonała takie istotne ulepszenie lub poprawkę, jest osobiście odznaczana przez Marka Zuckerberga. Z drugiej strony, jeśli pracuje się nad projektem innym niż flagowe aplikacje, dużo ciężej mówić o znaczącym wpływie na firmę. Ale nadal ma się duży wpływ na produkt tworzony przez zespół.
Pracujesz nad aplikacją na system macOS – AR Studio. W jaki sposób testujecie aktualizacje i jakich narzędzi do tego używacie?
Obawiam się, że nie mogę wchodzić za bardzo w szczegóły. Aktualizacje wychodzą regularnie co 2 tygodnie, a do testowania ich mamy wachlarz testów automatycznych oraz dedykowany zespół do testowania manualnego. Co jest inne w porównaniu do poprzednich firm, w których pracowałem, to dużo większe zaangażowanie autora kodu w tworzenie przypadków testowych oraz mocne stawianie na dogfooding. Facebook ma do tego bardzo dobrą infrastrukturę oraz odpowiednią skalę.
Pytanie na koniec. Wiesz, że znalazłem Cię na LinkedIn? Dla Facebooka to nie problem, że jego pracownicy korzystają z serwisów konkurencji? W ogóle… jak Facebook zapatruje się na konkurencję?
Facebook też mnie “znalazł” na LinkedIn, więc chyba nie mają z tym problemów 🙂 Nie odczuwam, żeby mieli jakieś problemy z używaniem produktów innych firm. Zresztą, przy takiej skali, większość “konkurencji” niejednokrotnie jest też jednocześnie partnerem biznesowym w jakimś innym obszarze, więc naturalnie wymusza to podchodzenie z odpowiednią dozą szacunku i zdrowego rozsądku.
Zdjęcie główne artykułu pochodzi z egyptindependent.com.