Cezary Bartoszuk

Współpraca z najlepszymi w branży, szkolenia, podróże. Cezary Bartoszuk o zaletach pracy dla gigantów

Od września 2020 pracujesz w Twitterze. Dlaczego podjąłeś decyzję o zmianie firmy?

W dwóch słowach: praca zdalna. Mam trójkę małych dzieci i bardzo lubię spędzać czas z rodziną. Dojazd do biura w Chicago zajmował mi w tygodniu w sumie 8 godzin (godzinę w każdą stronę, a w piątek pracowałem z domu). Teraz mogę te 8 godzin tygodniowo przeznaczyć na to, żeby spędzić czas z żoną, pobawić się z córkami albo coś ugotować czy posprzątać. To daje dużo swobody. Poza tym, gdy trzeba zająć się dziećmi w ciągu dnia albo coś załatwić, jest o wiele łatwiej.

Jak przebiegał proces rekrutacyjny do Twittera, a może ze względu na Twoje doświadczenie był bardzo krótki?

Sądzę, że był taki sam, jak dla każdego. Trochę inny niż w Google, ale raczej podobny. Kulminacją jest seria rozmów kwalifikacyjnych (chyba cztery). Główna różnica jest taka, że od początku proces jest nakierowany na konkretny zespół. Rozmowy kwalifikacyjne prowadzili moi późniejsi koledzy z zespołu i od razu miałem kontakt z menedżerem.

Nad jakim projektem obecnie pracujesz?

Pracuję w zespole, który odpowiada za Tweety. Zajmujemy się ich składowaniem, serwowaniem, interfejsami do tworzenia Tweetów i wszystkimi zmianami, przez które przechodzą. Zwykle nasz zespół bierze udział w różnorakich projektach, bo tweety są centralnym elementem naszego głównego produktu.

ZOBACZ TEŻ: W wieku 16 lat stworzył front-end Twittera. Dziś pracuje z klientami z całego świata

Google, Twitter – same marki-giganty, rozpoznawalne na całym świecie. O pracy w Google opowiedziałeś dość szczegółowo. A jak to jest być częścią zespołu Twittera? Na co ta firma zwraca uwagę, jakie ma podejście do pracowników? 

Twitter to dobry pracodawca. Doceniam to, że w tym roku cała firma w każdym miesiącu ma wyznaczony dodatkowy dzień wolny. Bardzo jest też dla mnie ważna możliwość pracy zdalnej. Brak limitu wakacji w praktyce oznacza, że mogę wziąć 5 tygodni urlopu. To europejski standard. Inaczej niż w USA, gdzie nowo zatrudniony pracownik ma tylko dwa tygodnie.

Uważasz, że branża IT niepotrzebnie pędzi za nowymi technologiami, językami i nie docenia dojrzałych technologii?

Nie określiłbym tego tak radykalnie. Zmiana jest potrzebna, ale sądzę, że jesteśmy raczej stronniczy na korzyść nowych technologii i myślę, że za mało uwagi poświęcamy technologiom, które są dłużej na rynku.

Często użycie nowej technologii wiąże się z mniejszą stabilnością, trudniejszą integracją, mniejszym wsparciem ze strony narzędzi. Obserwowałem wielokrotnie, jak całe zespoły doświadczonych ludzi pomijały te aspekty zmiany ze starej technologii na nową.

Jak przekonałbyś niedowiarków do tego, że XML czy SQL to solidne i warte uwagi technologie?

Pomyślmy o przypadku, gdzie rozważamy użycie bazy klucz-wartość albo bazy ze schematem relacyjnym i obsługą jakiegoś dialektu SQL. W trakcie projektowania możemy mieć jedynie potrzebę zapisywania i odczytywania wartości pod kluczami. Możemy w takim wypadku wybrać key-value store, bo przecież lepiej się skalują.

Widziałem wiele sytuacji, w których po kilku miesiącach czy roku pojawiały się kolejne potrzeby: druga baza danych tego samego typu i potrzeba wczytywania odpowiadających danych z obu systemów. To, co mogłoby być relatywnie nieskomplikowanym zapytaniem JOIN, staje się częścią logiki w mikroserwisie.

W innych przypadkach pojawia się potrzeba dokonania jakiejś analizy danych. Przy dostępnym interfejsie SQL, analitykowi czy programiście napisanie potrzebnego zapytania i jego przetestowanie zajęłoby może pół dnia. Key-value store wiąże się z większym wysiłkiem, bo często trzeba uciec się do napisania procesu w technologii takiej jak Beam czy podobnej.

Podobnie jest w przypadku XML. Gdy zaczynałem pracę, to jeszcze tu i ówdzie używaliśmy SOAP, które jest technologią XML-ową, do wywoływania procedur zdalnych. Oczywiście przesyłanie takich wiadomości tekstem dziś by nie przeszło (chociaż sieci się robią coraz szybsze, ale i danych przesyłamy więcej). Niemniej jednak bardzo chciałbym zobaczyć, jak jeden z dzisiejszych protokołów RPC pozwala na kompletną zmianę API bez zmian u klientów i wykonanie adaptera w postaci pliku, który mogę przesłać po sieci. Mimo, iż problem wprowadzania zmian w API mikroserwisów jest wszechobecny, to nie widziałem jeszcze dobrego wsparcia w żadnej z obecnych technologii. A SOAP potrafił, i to jednym plikiem.

Masz spore doświadczenie pracy w dużych organizacjach. Możesz podzielić się spostrzeżeniami – dla kogo to świetne miejsce? Dla juniorów, midów czy seniorów?

Wcześniej już wspomniałem o mentoringu. Moim zdaniem dobrze o to zadbać jak najwcześniej. Jeżeli ktoś dopiero zaczyna, to może czuć się niezręcznie, gdy musi poprosić starszą koleżankę i kolegę, żeby raz w miesiącu przez pół godziny móc zadać kilka pytań na różne tematy. Może trochę łatwiej jest w firmie, gdzie wdrożono taką procedurę?

Proszę wybaczyć truizm, ale moim zdaniem gruntowną różnicą między dużą a małą organizacją jest jej wielkość. To oznacza, że duża organizacja ma wiele biur, często w różnych krajach. To pozwala łatwo poznać ludzi, którzy mieszkają wielu zakątkach świata. To również umożliwia nam przeniesienie się do innego kraju, bo firma często pomaga z wizą czy prawem pracy, nawet z przeprowadzką. To chyba dotyczy wszystkich, ale warto zaznaczyć, że mobilność w firmie jest większa, gdy się jest młodszym pracownikiem.

Są też inne, może bardziej wyświechtane, ale prawdziwe i ważne zalety dużych i znanych organizacji. Na przykład praca z najlepszymi ludźmi w branży, dostępność szkoleń i kursów, podróże. Sądzę, że to jest wartość dla każdego, niezależnie od stażu.

Jakie masz plany? Na jakim stanowisku albo nad jakim projektem chciałbyś pracować za kilka lat?

Słownik Języka Polskiego definiuje kilka jako co najmniej dwa i co najwyżej dziesięć. To mi przypomina o poradzie, którą kiedyś usłyszałem od jednego starszego kolegi: “Powinieneś mieć plan dwuletni, pięcioletni, dziesięcioletni i dwudziestopięcioletni”. Tu chodzi o plany zawodowe i ważne, żeby uwzględnić swój wiek. Ja mam 32 lata, więc jest szansa, że za 25 lat mogę jeszcze pracować. Ten kolega, który mi to polecił ma 50 lat, zatem robi plany tylko w perspektywie od 2 do 10 lat. Kolejny raz chciałbym podkreślić tym przykładem wagę mentoringu.

Za dwa lata chciałbym – zgodnie z celami mojego zespołu – solidnie zredukować nasz dług technologiczny, żeby uwolnić trochę czasu. Chciałbym również osiągnąć ekspertyzę w kilku centralnych technologiach, takich jak Kafka czy elementy Google Cloud Platform.

Za pięć lat będę już prawie piętnaście lat w branży, więc może już czas, żeby skupić się na czymś ważniejszym niż programowanie komputerów? Wiele prac, które rozważałem w tej perspektywie, niestety nie wiąże się ze zbyt dużymi dochodami. Zatem zmiana pewnie będzie zależeć od tego, w jakiej mierze będziemy jako rodzina w stanie utrzymać się z inwestycji.

Prowadzenie własnej działalności w oprogramowaniu też chodzi mi po głowie. Znam wielu przedsiębiorców w różnych branżach, w tym software. Wielu z nich jest ode mnie mądrzejszych i bystrzejszych. Na dodatek na ogół lepiej zarządzają czasem. Mimo to, oni wszyscy potrzebują więcej niż moje 40 godzin tygodniowo na pracę.

Mam wspaniałą żonę i trójkę wspaniałych dzieci, a statystycznie, w momencie wyjścia dziecka z domu, rodzic spędził już z nim 95% wspólnego czasu, jaki kiedykolwiek będą mieć. Warto więc mieć teraz czas, żeby poczytać im książkę, pobawić się czy po prostu pobyć razem. Może na przedsiębiorczość czas przyjdzie później?


Cezary Bartoszuk. Mąż, tata trójki dzieci, programista w Twitterze, członek Wspólnoty Małżeństw Katolickich Chicago, okazjonalnie stolarz. Informatyk z wykształcenia. Tworzeniem oprogramowania zajmuje się od 10 lat. Pracował w korporacji, startupie, software house. Pomagał tworzyć testy integracyjne, reklamy, bank internetowy, petabajtową bazę danych, licznik prądu oraz tweety. Wieczorami (jak jeszcze ma siłę) gra na gitarze albo czyta.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Jak wygląda praca w bankowości? Devdebata cz.2