Wpis zadowolonej programistki

By 14 November 2018 Motywacja, Think Big

Rok temu, 14 listopa­da z wielką nadzieją zaczy­nałam pracę w nowej fir­mie*. Dziś, chcę Wam opowiedzieć o tym, jak to jest być zad­owolonym Pro­gramistą (oczy­wiś­cie w zupełnie subiek­ty­wnej ocenie).

Prawdziwe problemy, prawdziwych ludzi

Zacznę od rzeczy, która wyda­je mi się być chy­ba najważniejsza: cel. 

I niby proste to jak drut i oczy­wiste, ale uwierz­cie mi, że w mojej doty­chcza­sowej kari­erze bywało z tym bard­zo kiep­sko. Są firmy, gdzie kole­jne zadanie to bezosobowo sfor­mułowane polece­nie, tick­et do zamknię­cia. Pra­cow­ałam też z user sto­ry, które potrafiły lep­iej wytłu­maczyć co mam dostar­czyć. Niem­niej w więk­szoś­ci moich poprzed­nich pro­jek­tów użytkown­ik był naprawdę tajem­niczym tworem. Roz­maw­iał z nim jego man­ag­er, który relacjonował to anal­i­tykom, którzy z kolei roz­maw­iali z prod­uct own­era­mi. Był pro­jekt, gdzie śmieliśmy się, że użytkown­i­cy to chy­ba nie ist­nieją, bo nigdy nikt z naszego biu­ra nie miał okazji z nimi roz­maw­iać. Nawet bugi zakładane były przez QA a nie przez samych użytkowników… 

I to potrafiło mi naprawdę dać w kość. Szczegól­nie, gdy z doku­men­tacji zadań wynikały dzi­wne rzeczy i mimo prób, nawet nasz prod­uct own­er czy architekt nie był w stanie ich zwery­fikować. Zdarza­ło mi się dodać funkcjon­al­ność i naprawdę zas­tanaw­iać się, czy przez jej skom­p­likowanie ktokol­wiek z niej sko­rzys­ta (albo żar­tować, że jak się już ją zrozu­mie to dostanie się awans). 

W mojej obec­nej pra­cy wszys­tko krę­ci się wokół naszych klien­tów. Każdy zespół, każdy pro­dukt, rozwiązu­je ich realne prob­le­my biz­ne­sowe. Wiemy, że nasi użytkown­i­cy korzys­ta­ją z aplikacji codzi­en­nie, częs­to to ich główne cen­trum dowodzenia, dlat­ego UX i tworze­nie łatwych, spójnych i zrozu­mi­ałych inter­fe­jsów jest niesamowicie ważne. I mówię to ja, back­endowiec, który na bieżą­co sprawdza i dysku­tu­je designy, tak, żeby rozu­mieć zasady dzi­ała­nia nowych funkcji i wiedzieć, co dokład­nie real­izu­je API, które dostarczam. 
Skąd wiemy co nasi użytkown­i­cy myślą i czego potrze­bu­ją? Bo z nimi roz­maw­iamy. Czy to przez research, ses­je z mock­a­mi, przez beta releasy. Klien­ci mogą w każdej chwili w łatwy sposób zostaw­ić nam i feed­back , czy też sko­rzys­tać z forum społecznoś­ci, gdzie pojaw­ia­ją się pomysły na nowe rozwiązania. 

Nie ma tu miejs­ca na wyda­je mi się, że ktoś z tego sko­rzys­ta (choć­by i rzu­cone przez dyrek­to­ra), albo bezmyślne kopi­owanie konkurencji.

Takie pode­jś­cie zmienia per­spek­ty­wę i powodu­je, że nie mam poczu­cia klepa­nia kodu, a rozwiązy­wa­nia real­nych prob­lemów. Dla prawdzi­wych ludzi. Poma­gania im w ich codzi­en­nej pra­cy, tak by ich biznes rozwi­jał się jak najlepiej.

Rozwiązy­wanie dla klien­ta ma jeszcze jed­ną zaletę. Skutecznie moty­wu­je pro­gramistów by nie ulep­szać w nieskońc­zoność swoich rozwiązań. Nie zrozum­cie mnie źle, nie chodzi o to, że pro­duku­je­my kiep­s­ki kod, ale raczej o to, że jeśli jest good enough to prze­chodz­imy do kole­jnego zadania.

 

Autonomiczne zespoły

Brz­mi jak catchy hasło, ale dzi­ała całkiem sen­sown­ie w praktyce.

To zespół sam odpowia­da za tem­po i sposób pra­cy. Za wybór tech­nologii (tu do autonomii warto dorzu­cić naprawdę wielu wymi­at­aczy, którzy chęt­nie dzielą się wiedzą, więc to nie jest tak, że niedoświad­c­zony zespół jest wrzu­cony na wielką wodę pode­j­mowa­nia ważnych tech­nicznych decyzji, a radę naprawdę łat­wo uzyskać). Za pri­o­ry­te­tyza­cję zadań. Za kierunek w jakim zmierza pro­dukt. Każdy zespół oprócz pro­gramistów ma swo­jego design­era, prod­uct man­agera i tech lea­da. Dodatkowo w ramach więk­szych grup współpracu­je­my z data anal­i­tyka­mi, reserchera­mi, czy ux writ­era­mi. Wszys­tko po to by ograniczyć zależnoś­ci i móc samodziel­nie pracować.

Przykła­dem takiej auto­nom­icznej decyzji może być np. pra­ca w Kan­ban­ie, co sprawdza się naprawdę znakomi­cie i daje świet­ną elasty­czność, przez co nasz pro­dukt pow­sta­je szy­bko i w odpowiedzi na feed­back. Wybral­iśmy też, jeden standup na tydzień, zami­ast codzi­en­nych, co nie oznacza, że się nie komu­niku­je­my (nasz Slack cza­sem płonie od sucharów, mery­to­ryczne dyskus­je zazwyczaj załatwiamy jako podTalk, czyli roz­mowę między biurka­mi (albo przy white board­zie jak ktoś chce coś narysować).

 

Ograniczenie bezsensu

Jeśli zapyta­cie mnie o jed­ną zasadę, która obow­iązu­je abso­lut­nie na każdym szczeblu firmy i każdym dziale, to jest nią: Use Good Judge­ment (UGJ) i nawet nie uwierzy­cie jak ona wiele zmienia. Masz wąt­pli­wość przy pod­ję­ciu decyzji? Use Good Judge­ment — odnosi się to do wakacji, kolacji dla zespołu, kosztów podróży służbowej, mate­ri­ałów do nau­ki, czy korzys­ta­nia z benefitów. 

Więk­szość wewnętrznych pro­cesów jest naprawdę uproszc­zona (m.in logowanie cza­su, pobieranie akce­soriów IT, czy rapor­towanie (korzys­tamy z 15five, które moim zdaniem jest game chan­g­erem jeśli chodzi o współpracę z bezpośred­nim przełożonym). 

Co więcej, nikt (praw­ie nikt?) nie naduży­wa UGJ. Co bard­zo dobrze wpły­wa na zau­fanie w ramach firmy i dzi­ała w obie strony.

 

Ludzie, od których naprawdę się uczę

Dostęp do wiedzy w fir­ma­ch IT potrafi być różny. Cza­sem zatrud­ni­ani są Geniusze czy Mag­i­cy, którzy za nic nie chcą bądź nie potrafią dzielić się wiedzą. Cza­sem w fir­mie panu­je taka bieżącz­ka, że nikt na nic nie ma cza­su więc po pros­tu zapom­nij. Z drugiej strony, gdy nie zawsze może pomóc człowiek, tworzy się doku­men­tację … a potem nigdy jej nie aktu­al­izu­je. Cza­sa­mi pomiędzy pro­gramis­ta­mi wprowadza się wręcz rywal­iza­cję, więc jeden nie pomoże drugiemu.

To co podo­ba mi się w mojej obec­nej fir­mie to naprawdę dostęp do wiedzy, czy to przez doku­men­tac­je, czy to przez kanały na slacku czy office hours orga­ni­zowane przez zespoły wyspec­jal­i­zowane lub tworzące infra­struk­turę, aż w końcu przez to, że zazwyczaj w ciągu krótkiej wymi­any zdań jestem w stanie ustal­ić z kim mogę poroz­maw­iać na dany tem­at, po czym zaraz potem moż­na do tej oso­by zagadać i znaleźć odpowiedź na swój problem. 

Podob­nie z Code Review, do którego po pros­tu gdy trze­ba moż­na dołącza się pożą­danego pro­gramistę. I tutaj warto dodać, że oce­na kodu mam naprawdę fajną kul­turę, a ludzie naprawdę chcą w ten sposób przekazać swo­ją wiedzę i pomóc w rozwoju. 

Ludzie, wśród których miło spędza się czas

I nie mam tu na myśli imprez fir­mowych (te też są miłe). Mam tutaj jed­nak na myśli atmos­ferę wza­jem­nego sza­cunku, otwartoś­ci, zrozu­mienia. Pra­ca za granicą i w między­nar­o­dowym zes­pole naprawdę robi różnice. Pra­ca w fir­mie w której już od samego początku rekru­tacji sprawdzane są wartoś­ci, które są ważne dla firmy również. I znowu, ja wiem, że wiele firm ma zestaw sla­jdów czy szkole­nia odnośnie mis­ji, wiz­ji czy wartoś­ci. Niem­niej w obec­nej fir­mie to naprawdę żyje i jest wery­fikowane (całkiem niedawno CTO zro­bił nawet mały refak­tor tych wartoś­ci). Ludzie z jaki­mi pracu­ję są różni, sporo jest introw­er­tyków, ale też sporo sza­lonych impre­zow­iczów. Niem­niej i jed­ni i drudzy potrafią się dobrze ze sobą baw­ić jak i współpracować.

Jak widzi­cie, więk­szość z doty­chczas opisanych ben­e­fitów to te nie­ma­te­ri­alne, jed­nak dla mnie są one na wagę zło­ta. I oczy­wiś­cie mamy też paki­et bonusów i przy­wile­jów, na który naprawdę nie mogę narzekać (przykła­dem niech będą nie­lim­i­towane wakac­je, z których korzys­tam jadąc w tym roku w grud­niu na przedświ­eta ;)). Niem­niej bez wcześniej opisanych cech żadne masaże czy krani­ki z piwem nie miały­by sensu. 

Pracu­je w fir­mie, do której chce mi się wstawać rano, ale też która szanu­je to, że wiec­zorem mam swój pry­wat­ny czas. Jestem szczęśli­wa, rozwi­jam się i z czystym sum­ie­niem pole­cam szukanie pra­co­daw­cy, który odpowie na Two­je potrze­by. To jest chy­ba najważniejszy przekaz tego tek­stu, by szuka­jąc pra­cy zas­tanow­ić się co jest dla Ciebie ważne, by móc pod­jąć dobrą decyz­je przy wyborze firmy. 

 

*- spec­jal­nie i kon­sek­went­nie nie pad­nie tutaj nazwa mojego pra­co­daw­cy. Nie chcę, żebyś­cie ode­brali ten wpis w kat­e­go­ri­ach ‘chwali fir­mę’ czy po pros­tu reklamy, a raczej skupili się na aspek­tach jakie poruszam, tym jak moż­na to sprawdz­ić przed pod­ję­ciem pra­cy, czy co to z mojego punk­tu zmieniło w porów­na­niu do poprzed­nich pra­co­daw­ców. Może mój wpis będzie motywacją do Two­jej włas­nej, oso­bis­tej reflek­sji na tem­at obec­nego miejs­ca pra­cy (bo pozy­ty­wne rzeczy bard­zo łat­wo jest przeoczyć, a na negaty­wne po cza­sie moż­na po pros­tu przes­tać, zapom­i­na­jąc, że może być inaczej).