niedziela, 10 lutego 2013

Praca - trochę szczegółów - część 3

Współpracownicy


Ludzie którzy pracują tutaj są różni, pod każdym względem: doświadczenia (masa osób świeżo po studiach jak i weteranów biznesu), wieku, pochodzenia (najmniej jest chyba osób z samej doliny krzemowej - a tak to cały świat - trudno zliczyć kraje z których spotkałem ludzi), poglądów politycznych, orientacji seksualnej, zainteresowań, postury (ale baaardzo mało jest stereotypowych amerykanów zajmujących 3 miejsca - nie ta cześć USA). Masa geeków, a do tego też masa hipsterów.
Mój mentor w zespole pracuje w firmie od paru lat i podziela moje odczucie - każdego dnia czujesz się głupi, patrząc na mądrych ludzi dookoła. Po zrobieniu kompletnie nienaukowych badań stwierdziłem, że większość ludzi tak uważa.


Skala


To co mnie przyciągnęło do pracy tutaj to skala w jakiej operujemy. I nie zawiodłem się. Facebook ma, według ostatnich oficjalnych danych, miliard miesięcznie aktywnych użytkowników, a dziennie ~600 milionów, z których każdy widzi zupełnie inną treść i każdy lag w propagacji informacji o interakcji jest zły. Reklamy do tego mają jeszcze inne wymagania, ale to długa i skomplikowana historia.
Od strony technicznej trzeba zbudować całkiem sporą i fajną infrastrukturę która będzie w stanie to obsłużyć. Kilka datacenter, rozłożonych geograficznie dodaje do tego niebanalną kwestię replikacji i synchronizacji danych między nimi. Wszystko było by dużo prostsze gdyby nie fakt, że użytkownicy wchodzą w najróżniejsze interakcje i nie da się rozdzielić - jedni są zamknięci w tym datacenter i gadają między sobą, a reszta w innych i nie mają szans na wymianę informacji.
Do tego parę małych szczegółów, jak np. bycie największą stroną na świecie ze zdjęciami, najwięksi na świecie użytkownicy paru technologii, etc. Jest masa wyzwań i jeśli kogoś takie coś bawi - polecam.
O liczbach nie mogę niestety mówić, ale są w większości nieziemskie - ilość żądań, przesłanych danych, składowanych danych, etc. I to działa. A co jest najfajniejsze w tym wszystkim? Technologie które to napędzają cały czas się rozwijają i na horyzoncie nie widać nigdzie mety - przychodzi się tutaj aby rozbudować, przebudowywać bądź czasem tworzyć od zera kolejne rozwiązania. Jesteśmy potęgą w biznesie, ale mamy świadomość że cały czas musimy uciekać do przodu - nie jedna firma będąca w podobnej sytuacji w IT dzisiaj już nie istnieje.
Do tego musimy trzymać koszty w ryzach - infrastruktura jest w stanie zjeść każde pieniądze. Fajnie czasem ogląda się prezentacje innych zespołów o tym jak np. zmiany w sposobie składowania jakiś danych pozwoliły oszczędzić ileś tam setek milionów dolarów na rok :-). 
Rozwiązania te budują naprawdę malutkie teamy.

100%


W poprzedniej firmie miałem 2 szafy serwerów. Tutaj jak zbieram dane z tysięcy serwerów to ilość serwerów które nie odpowiedzą (z najróżniejszych powodów - opóźnienia, awarie, przeciążenia, etc) może być większa niż ilość serwerów ze starej pracy :-). Od strony technicznej oznacza to też, że nie budujemy (albo też - nie staramy się) rozwiązań które oczekują 100% - żaden kod nie powinien zakładać że dostanie odpowiedź od wszystkich innych serwerów do których wysłał żądania. I musi być w stanie to obsłużyć - to normalna sytuacja. Nie zwracaj błędu, jeśli możesz (a w 99% przypadków - możesz) tylko wyniki które są najlepsze na podstawie informacji które udało Ci się otrzymać.

Agresywna polityka powtarzania żądań to najlepsza recepta na awarię. Mieliśmy przypadek gdzie kod w wypadku otrzymania błędu ponawiał żądania w bardzo agresywny sposób. Powodowało to, że awaria w jednym regionie zabiła wszystkie inne regiony :-). I zamiast 80% sukcesów mieliśmy 0%. 80% jest zawsze lepsze od 0%.

1%


Każda zmiana wprowadzona przez Facebooka spotyka się z oporem zawsze jakiejś części użytkowników. Jeszcze się taki nie urodził który by każdemu dogodził. Więc w naszym wypadku zmiana która nie będzie się podobać 1% użytkowników, bo np. łamie ich przyzwyczajenia, znaczy wkurzenie 1 miliona ludzi. Trzeba się z tym pogodzić niestety - gdybyśmy nie wprowadzali zmian to dawno już by nas nie było.

Minusy


Praca wciąga. Jeśli nie lubisz być pochłaniany przez pracę - nie jest to firma dla Ciebie. 
Dla pracownika Facebook często jest zepsuty :-). Większość rzeczy przed wydaniem na cały świat jest testowana przez pracowników (eat your own dog food) - dzięki temu mamy super nowe ficzery, które inni dostaną dopiero za parę miesięcy, ale błędy w nich mogą wkurzać.
A zepsuty Facebook naprawdę utrudnia pracę dla nas - 90% komunikacji w firmie odbywa się przez Facebooka i wewnętrzne grupy (techniczne, informacyjne, sportowe, etc) - pracownik jest średnio zapisany do 30-40 grup (na podstawie mojego kolejnego nienaukowego badania). Mamy możliwość przełączenia się na wersję produkcyjną, ale z drugiej strony - wtedy często brakuje tych nowych ficzerów - jak można używać Facebooka bez X? Przecież to jest nieużywalne! Np. tak miałem z nowym wyszukiwaniem, które jest dla mnie super wygodnym sposobem nawigacji po stronie. Przed publicznym wydaniem dostęp do niego miałem tylko z firmy - za każdym razem gdy na prywatnym komputerze wchodziłem na Facebooka to wkurzało mnie to niemiłosiernie :-).
Polityka otwartości w środku a zamknięcia na świat też trochę wkurza - trzeba stale filtrować wszystko co się mówi na temat firmy.

Różne


- Facebook namawia ludzi do zmiany teamów co jakiś czas (1.5 roku, 2 lata). To czym się zajmują poszczególne teamy jest często totalnie różne i przypomina zmianę pracy. I o to chodzi - znudziła Ci się praca nad X? Zamiast zmieniać firmę w poszukiwaniu czegoś nowego - zmień team.
- W zeszłym tygodniu kupiłem sobie nowe pedały, z clipami. Próbowałem je samemu wymienić - niestety trzeba mieć dość długą dźwignię, żeby je ruszyć - mój klucz nie wystarczał. Ale od czego jest warsztat rowerowy na kampusie - podjechałem, 3 minuty i gotowe. Cała robocizna jest darmo - płaci się tylko za części, więc nie kosztowało mnie to nic.


9 urodziny


W piątek mieliśmy firmową imprezę z okazji 9 urodzin.

Nadmuchiwane boiska do laser-tag. Po piwie całkiem fajne :-)



Nascar - spędziłem tutaj z dobre 15 minut, do momentu aż zepsułem samochód - wtedy w zorganizowanym pospiechu oddaliłem się w bliżej nieokreśloną stronę ;-). Za niecałe 2 tygodnie zdaję test praktyczny na prawo jazdy, więc musiałem potrenować!






Impreza była między 4 a 7. Ale w drodze powrotnej spotkałem w busie polaka który zaczął pracę parę tygodni temu - wylądowaliśmy z paroma innymi osobami w knajpie w Palo Alto. Potem jeszcze spotkałem ludzi z teamu z którym współpracuje i koniec końców do domu wróciłem w godzinach dość późnych, w stanie lekko wskazującym ;-). Dobre urodziny.

1 komentarz:

  1. "Każdego dnia czujesz się głupi, patrząc na mądrych ludzi dookoła." - mam tak samo....

    "Polityka otwartości w środku a zamknięcia na świat też trochę wkurza - trzeba stale filtrować wszystko co się mówi na temat firmy." -> wiem ale nie powiem :-P

    OdpowiedzUsuń