Od Intela przez Apple do Facebooka. Historia Bartosza Baranowskiego
Bartosz swoją przygodę z programowaniem rozpoczął w 2010 roku. Pierwszą pracę znalazł w Gdańsku na stanowisku Software Testera. Później trafił do gdańskiego oddziału Intela, w którym spędził ponad cztery lata. Otrzymał propozycję przeprowadzki do Folsom, w Kalifornii, na co zdecydował się po konsultacji z rodziną. W ciągu ostatnich kilku lat dwa razy zmieniał pracę po to, by zobaczyć jak ogromne korporacje wyglądają od środka. Dziś zajmuje stanowisko Software Engineera w Facebooku.
Spis treści
O czym myślałeś dzień przed wyjazdem do Folsom, Kalifornii?
Głównie o tym, żeby żona nie urodziła w samolocie, bo była wtedy w szóstym miesiącu ciąży. Poza tym można powiedzieć, że starałem się wyjazd jak najdokładniej zaplanować — byłem wcześniej w USA, a nawet specjalnie pojechałem do Folsom, aby upewnić się, że to odpowiednie miejsce, do którego chcemy się przeprowadzić. Mimo kilku tygodni skrupulatnych przygotowań, nie obyło się jednak bez niespodzianek.
Co zaskoczyło najbardziej?
Nie wiedziałem, że wynajęte mieszkanie jest całkowicie puste (oprócz kuchni i łazienek nie ma tam absolutnie nic, nawet lamp na suficie). Zaskoczyło mnie też to, jak ciężko dzieci przechodzą jet lag (adaptacja trwała około dwóch tygodni, w tym czasie zasypiały w środku dnia np. w łóżkach pokazowych w Ikei). Kolejną niespodzianką było to, że zdolność kredytowa spoza US nie ma tu najmniejszego znaczenia, więc należy się uzbroić w cierpliwość i sporo nagimnastykować, żeby dostać kartę kredytową z limitem na $800.
Jak przygotowywałeś się do wyjazdu?
W ostatnich tygodniach udało się samodzielnie sprzedać dom, samochód i większość mebli (co jest zasługą mojej żony, powinna chyba dostać order najlepszego sprzedawcy na OLX). Z perspektywy czasu myślę, że to był bardzo dobry krok. Zdecydowanie uprościło to naszą sytuację podatkową, o której niewiele osób myśli wyjeżdżając za granicę, jak i oszczędziło zamartwiania się o stan rzeczy pozostawionych w Polsce. Dodatkowo spędzaliśmy czas na planowaniu nowego życia — poszukiwaniu apartamentu niedaleko pracy, ale z rozsądnym czynszem, rozbudowywaniu sieci kontaktów o osoby, które przeprowadziły się wcześniej i oczywiście przechodzeniu przez zdecydowanie za długi i męczący proces imigracyjny.
Jak rozumiem pracodawca pokrył wszystkie koszty związane z wyjazdem, jak i uzyskania wizy?
Tak, Intel współpracuje z zewnętrzną firmą prawniczą specjalizującą się w prawie imigracyjnym. Mimo to proces jest żmudny (ze wzgledu na ogromną ilość wymaganych dokumentów), długi (trwa od kilku miesięcy do 2 lat) i irytujący (muszę się tłumaczyć czy oby na pewno moje małżeństwo nie jest fikcyjne, a moje dzieci naprawdę istnieją).
Jeśli chodzi o pakiet relokacyjny to wszystko zależy od konkretnej oferty – w tej samej firmie można nie dostać nic, bądź też otrzymać offset (konkretną kwotę na konto) albo nawet przeprowadzkę “w białych rękawiczkach” (spakowanie wszystkich mebli, sprzętu, ubrań itp. przesłanie całości na drugi koniec świata, a następnie rozpakowanie na miejscu, a nawet ustawienie książek w tej samej kolejności na regale. Dodatkowo w trakcie oczekiwania na kontener firma zapewnia mieszkanie zastępcze lub hotel i wynajęty samochód na kilka miesięcy). Nie ma tu reguły, ale im bardziej firmie zależy na pracowniku tym łatwiej jest wynegocjować korzystny pakiet relokacyjny.
W jaki sposób przekonałeś się, że warto wyjechać i zacząć pracę w oddziale Intela w Kalifornii?
Wydaje mi się, że pomysł pojawił się w trakcie wcześniejszych wyjazdów za ocean. Podczas jednego z nich towarzyszyła mi żona, co zdecydowanie uprościło podjęcie wspólnej decyzji. Myślę, że głównie zachęciła nas wizja życia w słonecznej Kaliforni, gdzie 300 dni w roku można spędzać aktywnie na dworze – zimą dojechać w 2h do kilkunastu stoków narciarskich (gdzie sezon trwa pół roku!), latem w 3h od oceanu, pięknych parków narodowych czy winnic. Jeśli chodzi o podejście zawodowe to zdecydowanie tutaj rozpoczyna i kończy się proces decyzyjny we wszystkich dużych firmach. To tu tworzy się międzynarodowe standardy i podejmuje decyzje odnośnie całego szeroko pojętego przemysłu high tech. Chciałem też zrozumieć prawa jakimi rządzą się korporacje, poznać specyficzny ”vibe” tego miejsca.
Przejdźmy do okresu już po aklimatyzacji. Jak wspominasz pierwsze dni w kalifornijskim oddziale Intela?
Było potwornie gorąco – temperatura za dnia utrzymywała się powyżej 40 stopni, a w nocy nie spadała poniżej 30! Natomiast jeśli chodzi o pracę, to w biurze obowiązki spadły na mnie bardzo wcześnie — Intel nie prowadzi zbyt obszernych szkoleń dla nowych pracowników (zresztą byłem pracownikiem Intela już od ponad 4 lat), więc w pierwszym tygodniu miałem kalendarz wypełniony spotkaniami z przyszłymi współpracownikami, na których dostałem listę zadań niemal na cały następny kwartał.
Objąłeś to samo stanowisko co w Polsce?
Nie, był to zupełnie inny zespół, choć transfery wewnątrz zdarzają się. Przechodziłem zatem przez normalny proces rekrutacyjny, odbywałem rozmowy kwalifikacyjne, jak również formalnie rozwiązałem umowę z Intel Technology Poland i podpisałem kolejną z Intel Corporation. Posiadałem już doświadczenie na podobnym stanowisku i to ono było głównym powodem otrzymania oferty.
Czym zajmowałeś się na co dzień w kalifornijskim oddziale?
Pracowałem nad szeroko pojętą infrastrukturą i automatyzacją testu – tworzeniem odpowiednich narzędzi do przyspieszenia i optymalizacji procesu Continuous Integration.
Jak wyglądały różnice pracy między gdańskim, a kalifornijskim oddziałem Intela?
Różnice są bardzo duże – mam wrażenie, że to niemalże dwie inne firmy. Intel w Polsce jest ogólnie bardzo młodym i rozwojowym oddziałem (od czasu kiedy placówka zaczęła zatrudniać powyżej 500 osób, nie minęło nawet 10 lat, a w tym okresie liczba pracowników zwiększyła się ponad czterokrotnie), z dobrze dobraną kadrą menedżerską, z dużymi ambicjami i parciem na bycie najbardziej rozpoznawalną placówką poza US. Intel w Stanach to 50-letnia korporacja, z ugruntowanymi procedurami, z przekazywanymi (niemalże z pokolenia na pokolenie) metodami pracy, gdzie większe zmiany muszą brać pod uwagę wsparcie zastanych procesów, odpowiednie przygotowanie pod względem formalnym itp. W ostatnich latach dynamika zmian w Intelu bardzo przyspieszyła, jednak w momencie mojej przeprowadzki różnice były widoczne niemal na pierwszy rzut oka.
Po przeszło dwóch latach zmieniłeś pracodawcę i przeszedłeś do Apple. Jak wyglądał proces rekrutacji?
Przygoda w Apple zaczęła się jak w każdej innej firmie, w której miałem okazję pracować – od polecania przez inną osobę, z którą wcześniej współpracowałem. Mam wrażenie, że zdecydowana większość posad w Dolinie jest obsadzana przez polecenia – to dobre dla wszystkich stron: firma zatrudnia zaufanego pracownika, osoba polecająca pracuje ze swoim kolegą (i dostaje bonus gotówkowy), a osoba polecona zostaje zauważona w gąszczu podobnych podań. Oczywiście nie ma mowy o ulgowym traktowaniu – w procesie rekrutacyjnym biorą udział przypadkowe osoby, które nie są związane ani z zespołem, ani tym bardziej z osobą polecającą.
A jeśli chodzi o techniczną stronę rekrutacji? Jak przebiegała?
Cały proces jest standardowy dla firm z tego regionu – można powiedzieć, że przygotowanie do rekrutacji to wręcz odrębna dziedzina nauki. Powstało na jej temat kilkanaście książek (absolutnie obowiązkowe pozycje to Cracking the Coding Interview i Elements of Programming Interviews, które polecam każdemu). Proces przebiega następująco: na początku 2 lub 3 rozmowy telefoniczne (z rekruterem i osobą techniczną), następnie ok 6-7h w biurze firmy, gdzie przeprowadza się rozmowy twarzą w twarz.
Głównym tematem jest szybkie i wysoce zoptymalizowane programowanie, ale też zarządzanie projektem czy pytania specyficzne dla danego stanowiska. Ostatnim etapem jest przygotowanie oferty i żmudny proces jej negocjacji. Absolutnie każda umowa jest negocjowalna i należy się przygotować nie tylko na dziesiątki trików ze strony rekrutera (działanie na emocjach, wywieranie presji czasu itp.). Każdemu polecam lewar w postaci innej oferty na etapie negocjacji – sprawa wygląda zupełnie inaczej, jeśli druga strona wie, że w każdym momencie możemy odejść od stołu.
Czym zajmowałeś się w tej firmie?
W Apple tworzyłem system do automatycznej analizy danych wydajnościowych, algorytmów przetwarzania tych informacji i filtracji szumu. Apple przykłada ogromny wysiłek do przyspieszenia i monitorowania wszystkich wspieranych generacji sprzętu (np. obecnie nadal w pełni wspierane są telefony sprzed 5 lat)
Firmie Apple zostałeś polecony przez znajomego. To prawda, że dosłownie na każdym kroku można spotkać programistę, czy kogoś, kto pracuje w startupie?
Cała okolica niemalże została przejęta przez pracowników high tech (przykrą stroną tego faktu jest to, że tutejszych, rodowitych mieszkańców po prostu nie stać na zakup mieszkania czy domu w okolicy). Po kilku latach spędzonych w Bay Area, podczas każdego spotkania towarzyskiego można natknąć się na kilka osób z Tesli, Google czy Apple. W ten sposób najlepiej można się dowiedzieć, czym tak naprawdę żyje każda z firm, jaka jest w nich atmosfera i w jakim kierunku podąża branża.
Czym praca w dużej, znanej korporacji, różni się od pracy w software housie?
W dużym ogóle, wydaje mi się, że praca w korporacji jest zdecydowanie ciekawsza i daje dużo satysfakcji pomimo obiegowej, negatywnej opinii (np. lista benefitów w FB jest bardzo długa, włącznie z darmowymi posiłkami od rana do wieczora, własną cukiernią, darmową pralnią czy stolarnią z kursami majsterkowania, przygotowanymi przez profesjonalistów). Nie ma jednak co się czarować – praca w synchronizacji z 20 000 innych inżynierów oznacza, że nie można mieć niezwykle znaczącego wkładu w ostateczny produkt. Praktycznie żadna istotna funkcja czy sprzęt nie powstaje w pojedynkę, trzeba się na to przygotować. Rzecz jasna można pracować z najlepszą technologią i nabrać nieocenionego doświadczenia „jak się to powinno robić” w największych firmach na świecie, ale nie jest to odpowiednia praca dla jednoosobowej orkiestry, czy kogoś kto lubi się zaszyć na miesiąc i kodować, będąc odizolowanym od reszty zespołu.
Powiedziałeś, że w korporacji trudno o to, by pojedyncza osoba wniosła “znaczący wkład” w produkt firmy. Jak zatem wygląda proces decyzyjny dot. realizacji pomysłu pracownika na usprawnienia Facebooka?
Proces decyzyjny nie jest zbyt skomplikowany, głównie ze względu na dość płaską strukturę organizacyjną – zdecydowana większość zadań proponowana jest “z dołu” i przedstawiana managerowi pierwszego stopnia do zaopiniowania. Znaczące zmiany natomiast pojawiają się na forum cross-functional i tam podejmowana jest decyzja o dalszych krokach. Problem pojawia się z jej implementacją – muszą być w nią zaangażowane osoby z różnych pionów.
Back-end przygotowuje bazy danych i tworzy odpowiednie API (czasem i całą logikę). Eksperci z infrastruktury opiniują wpływ zmiany za obciążenie serwerów (pamietajmy, ze mowimy o olbrzymiej skali – dodanie pojedynczej emotikonki oznacza wyrenderowanie jej miliardy razy dziennie). Sieciowcy dbają o odpowiedni proces wdrożenia i synchronizację między serwerowniami na całym świecie. Natomiast front-end musi zaimplementować zmiany w UI i dodatkowo zsynchronizować je z aplikacjami na Androida, iOS, Windows Mobile… Jedna osoba zdecydowanie nie może o sobie powiedzieć: “tak, to właśnie ja zrobiłem live streaming w Facebooku”, ani nawet “samodzielnie dodałem nowy filtr do Instagram”.
Zatrzymajmy się na chwilę przy benefitach. Posiłki od rana do wieczora – to znaczy, że w Facebooku promowane są nadgodziny, czy raczej zniechęca się do nich?
Ogólnie w FB pracuje się dużo, szybko i czuć presję na posiadanie odpowiednio znaczącego wpływu na swój zespół/pion. Z drugiej strony, “impact-driven schedule” pozostawia nam bardzo dużo swobody zarówno, jeśli chodzi o czas (praktycznie dowolne godziny pracy, nie ma problemu, aby wyjść z pracy na kilka godzin by załatwić swoje sprawy, czy wrócić do domu albo przyjść do pracy o 1PM), jak i miejsce pracy (wszystkie sale wspierają [tak, zgadliście] Messenger, więc można się do nich wdzwonić z dowolnego miejsca), jak również jeśli chodzi o to czym się aktualnie zajmujemy (to do ciebie, a nie twojego managera, należy odpowiednia priorytetyzacja zadań, aby wpływ twojej pracy na produkt był jak największy).
Darmowa pralnia – to znaczy, że do pracy przyjeżdżasz z workiem z praniem, a wyjeżdżasz z pachnącymi ciuchami?
Zgadza się, choć nie korzystam z tego benefitu. Wygląda to tak, że firma zewnętrzna wypierze, wyprasuje i złoży w kostki wszystko, co znajdzie się w torbie – skarpetki, garnitur czy zimowy kożuch.
W Intelu i w Apple nie było takich benefitów?
Facebook i Google mają zdecydowanie najlepsze benefity ze wszystkich firm z Zatoki – największy wachlarz usług, jak również lepsze ubezpieczenie medyczne (istotne w Stanach, jeśli nie chcesz dostać rachunku na $30 000 za złamaną rękę na stoku) przy mniejszym wkładzie własnym, jak również sporo małych udogodnień, o których zazwyczaj nie mówi się głośno (darmowe lodówki z napojami i przekąskami, świeżo wyciskane soki, barista na miejscu itp.). W Apple benefity nie oferują wielu opcji obecnych w FB np. darmowych posiłków czy napojów, ale bardzo dobrze wspominam pracowniczą zniżkę na produkty własne.
Jeśli chodzi o Intel to lista benefitów jest najskromniejsza w tym zestawieniu, choć i tak moim zdaniem nie jest zła – np. bardzo dobre ubezpieczenie, imprezy rodzinne kilka razy w roku i świetny system Matching Grant (firma przekazuje gotówkę dla organizacji charytatywnej w zamian za czas przepracowany przez pracownika na wolontariacie).
Wyjazd pomógł Twoim zdaniem podnieść Twoje kwalifikacje? Co wyróżniłbyś jako najważniejszą umiejętność nabytą od czasu przeprowadzki do USA?
Przede wszystkim jak ważna jest sieć kontaktów i jak budowanie „marki własnej” (w mikro skali) czy swojego profilu pomaga w rozwoju zawodowym, jak również jak wiele spraw załatwia się przy piwie czy na kawie. Warto też zobaczyć jak wyglądają duże korporacje od środka, częściowo też po to, aby pozbyć się niepotrzebnych kompleksów, zdjąć różowe okulary związane z tym miejscem, czy pozbyć się otoczki tajemnicy/magii, która związana jest z legendarną Doliną Krzemową. W środku naprawdę pracują normalni ludzie, dokładnie tacy jak my. Nasi polscy inżynierowie czy absolwenci szkół zdecydowanie nie mają się czego wstydzić czy czuć gorzej w porównaniu do ich amerykańskich kolegów i koleżanek.
Ponad sześć lat pracowałeś w Intelu (cztery lata w gdańskim oddziale), półtora roku spędziłeś w Apple, a od pół roku jesteś w Facebooku. Myślisz, że Twoja ścieżka kariery nie potoczyłaby się lepiej, gdybyś pracował cały czas w jednej firmie?
Każdy ma swój pomysł na karierę, ale z perspektywy czasu zdecydowanie polecam zmianę pracy lub chociażby środowiska/projektu przynajmniej co kilka lat. Migracje są szczególnie częste w specyficznej atmosferze Doliny, by właśnie w ten sposób podnosić kwalifikacje i poszerzać horyzonty. Jest to też świetna okazja, aby odświeżyć wiedzę i przeciwdziałać wypaleniu zawodowemu. Raz na jakiś czas warto sobie też zadać pytania: którędy podąża rynek, czy oby to co robimy jest wciąż wiodącą technologią, gdzie obecnie znajduje się konkurencja…
Nie jest też tajemnicą, że najłatwiejsza możliwość awansu lub renegocjacji wynagrodzenia pojawia się właśnie podczas zmiany pracy lub zespołu. Korzystajmy z obecnej silnej koniunktury i rynku pracownika, bo nie wiadomo jak długo jeszcze potrwa.
Nieraz w naszej rozmowie wspomniałeś o swojej rodzinie, więc pozwolę o nią także zapytać. Jak Twojej rodzinie mieszka się w Stanach?
Mam nadzieję, że dobrze, bo na razie nie narzeka. Ogólnie rzecz biorąc Dolina Krzemowa ma świetny mikroklimat, jest dużo niezwykle urokliwych plaż, gęstych lasów sekwojowych, tras w górach na kilka dni (a nawet tygodni) wędrówki, ale wbrew pozorom nie jest najlepszym miejscem dla rodzin z dziećmi. Przede wszystkim ze względu na wybitnie wysokie koszty życia i wręcz absurdalny popyt na rynku nieruchomości przy znikomej podaży. Ceny domów i mieszkań poszybowały w górę i mimo ciągłych zapowiedzi, nie zanosi się w najbliższym czasie na korektę.
Możesz podać przykłady jak drogie są domy w Twojej okolicy?
W miejscu, w którym obecnie mieszkamy średnia cena domu oscyluje w okolicach $2.5M – są to głównie domy z lat 50-70-tych z archaiczną architekturą i do kapitalnego remontu. Całodniowe przedszkole to minimum $2 000 miesięcznie (za każde dziecko), nie istnieją “publiczne” przedszkola, żłobki czy inne wsparcie od państwa. Kolacja i kino z żoną kosztuje mniej niż opiekunka, która w tym czasie zajmuje się twoimi dziećmi… Zatem jeśli komuś marzy się rancho z basenem, gromadką rozbieganych dzieci i kilkoma psami na podwórku to zdecydowanie Dolina nie jest miejscem dla niego.
Jakie masz plany na przyszłość?
Dopiero niedawno zacząłem przygodę w Facebooku — praca w tak dynamicznej firmie i w tak gigantycznej skali jest dla mnie czymś zupełnie nowym, więc skupiam się, żeby jak najszybciej wdrożyć się w nową rolę i zaskarbić zaufanie współpracowników. Zatem na razie nigdzie się nie ruszam, ale w przyszłości nie wykluczam kilku opcji, z powrotem do Polski włącznie.
Facebooka nazwałeś dynamiczną firmą, nie użyłeś tego słowa ani w przypadku Intela, ani w przypadku Apple’a. Były mniej dynamiczne? Dlaczego?
Zarówno Apple, jak i Intel mają mnóstwo niezwykle utalentowanych i błyskotliwych inżynierów, a ich praca w obu firmach w moim odczuciu jest równie dynamiczna jak w Facebooku.
Różnica natomiast polega na zakorzenionej metodzie wypuszczania na rynek swoich produktów/usług pomiędzy firmami (historycznie) hardware’owymi takimi jak Apple czy Intel, a (również historycznie!) software’owymi jak Google czy Facebook.
Te pierwsze dokładają wielomiesięcznych starań, aby produkt, czy nowy software release, był możliwie najlepiej doszlifowany, przetestowany pod każdym kątem, z feature-setem zamrożonym na minimum kilka miesięcy przed wypuszczeniem na rynek. Twoja zmiana musi przynosić miarodajne korzyści i dodatkowo zmieścić się w odpowiednim oknie czasowym, inaczej musi poczekać dodatkowe kilka miesięcy. To podejście wynika z polityki zarządzania ryzykiem – w końcu łatwo można sobie wyobrazić nową wersję iOS, która nie zadziała poprawnie na kilkudziesięciu milionach iPhone, w rezultacie której musi nastąpić ich naprawa lub wymiana. Skutek byłby dla firmy katastrofalny.
Diametralnie inaczej sprawa wygląda w Facebooku: poprzez wprowadzenie odpowiedniego monitorowania i metodologii testowania (również na sobie) co kilka godzin wypuszczamy nową wersję wszystkich naszych aplikacji, włącznie z aktualizacją back-endu, front-endu, a nawet wprowadzamy zmiany do aplikacji mobilnych. Błąd znaleziony na jakimkolwiek etapie procesu, automatycznie odrzuca zmianę i przywraca aplikację do ostatniej znanej, dobrej konfiguracji (która zazwyczaj nie jest starsza niz kilkanascie godzin). Zatem solidna praca skończona wieczorem, następnego dnia rano będzie widoczna u (ponad 2 miliardów) klientów na całym świecie.
Bartosz Baranowski. Absolwent ETI Politechniki Gdańskiej. Specjalizuje się w analizie danych wydajnościowych i usprawnianiu procesu Continuous Integration. Naprawiał bolączki systemów automatyzacji największych firm technologicznych w Dolinie Krzemowej (Intel, Apple). Obecnie pracuje nad wdrażaniem skalowalnej infrastruktury w Facebooku. Dumny ojciec trójki urwisów.