21
Jan

Jak motywować programistę?

Kilka tygodni temu na devPytaniach pojawiło się pytanie “Jak motywować programistę?“. Wtedy się nie udzieliłem, ale właśnie naszły mnie refleksje poniekąd w tym temacie. Opiszę na swoim przykładzie.

Moja sytuacja wygląda tak:
Od ponad roku pracuję w Predice. Jak można zobaczyć na stronie: zajmujemy się głównie rozwiązaniami “klasy enterprise” (yuck!) w technologiach Microsoftu. Projekty, w których uczestniczę, to z reguły całkowite przeciwieństwo moich wcześniejszych (głównie freelancerskich) doświadczeń. SharePoint, Forefront Identity Manager i inne tego typu kobyły. Jakby mi ktoś powiedział półtora roku temu, że będę zajmował się czymś takim, do tego jeszcze z TfuFS jako narzędziem do zarządzania projektami i kontroli wersji, to by mi, że się tak swawolnie wyrażę, dupa ze śmiechu odpadła.

[wtrącenie]
Nie jest bynajmniej tak, że wszystko co robię w pracy jest be. Niektóre tygodnie są wymarzone jeśli chodzi o programistyczne zadania. Inne – mniej. Ale nawet w tych mniej wymarzonych napisanie ładnego, testowalnego kodu pod SharePointa czy FIMa może dać sporo satysfakcji. Po prostu nie są to małe miłe przyjemne projekty, w których można co i rusz zbadać nową bibliotekę, przetestować jakąś technologię bez wiązania się z nią na lata itd.
[/wtrącenie]

Faktem jednak jest, że z pewnością ISTNIEJĄ projekty/zlecenia/stanowiska bardziej z mojej perspektywy pociągające. A jednak jestem tu… Dlaczego?

Jednym z możliwych wytłumaczeń takiego stanu rzeczy może być, że nikt inny mnie nie chce. Chodzę po rozmowach, rozsyłam CV, błagam o szansę, ale każdy mi mówi żebym szedł za stodołę kozy paść i zapomniał o programowaniu albo siedział sobie w tej Predice skoro już tu się zaczepiłem.

Na szczęście to prawdą nie jest. Dostałem przez miniony rok kilka bardzo ciekawych propozycji pracy, co w moim przypadku (Białystok lub praca zdalna) proste nie jest. W tych alternatywnych firmach prawdopodobnie miałbym bardziej “kręcące” projekty. Z finansowego punktu widzenia każda z ofert również przebijała, nawet dość znacznie, moje aktualne zarobki.

Ale ciągle jestem tutaj i nigdzie się póki co nie wybieram. Jakie jest więc prawdziwe wytłumaczenie takiego stanu rzeczy? Posłużę się opisem kilku sytuacji z mojego rocznego pobytu w Predice, co może dać odpowiedź na pytanie z tytułu posta.

Gimmie RAMa!!

Przed samymi świętami czekałem sobie spokojnie aż TfuFS ściągnie mi źródła na nową wirtualkę i żeby kompletnie czasu nie tracić zastanowiłem się chwilę nad tym, co mi najbardziej w pracy przeszkadza. Wyszło mi, że dostaję białej gorączki, gdy siadam do projektu i widzę pasek zajętego RAMu na poziomie 98% przez co prawie nic nie działa jak powinno. RAMu mam co prawda 8GB, ale przy takich systemach to wcale nie jest dużo. Pamiętałem, że kiedyś ten temat był już w firmie poruszony, ale w specyfikacji laptopa Dell napisał że 8GB to max i więcej nie da się tu wepchnąć. Poszukałem jednak ponownie w internecie używając trochę innych haseł i znalazłem na jakimś forum wątek w którym ktoś pisze, że do tego samego modelu wsadził 16GB i mu działa.

Niewiele myśląc wystosowałem do “kierownictwa” maila z linkiem do forum, dorzucając jeszcze mimochodem że od tygodnia jadę na prywatnym SSD i różnica jest… zauważalna.
Nie spodziewałem się jakiegoś wielkiego poruszenia i wróciłem do czekania na TfuFSa.

Kwadrans po wysłaniu maila dostaję na Skype wiadomość: “jadę po RAM, dam znać czy to faktycznie działa”. Okazało się że tak. Po kolejnej godzinie powstała lista komu w firmie ile RAMu wlezie do komputera i tego samego dnia poszło zamówienie. Jako bonus – dla każdego dodatkowo SSD.

Spotkaliście się z czymś takim? Ja wiem że tak być “powinno”, bo w końcu lepszy sprzęt = mniej zmarnowanego czasu = więcej zrobione. Ale nie słyszałem jeszcze o takiej sytuacji i takim czasie reakcji na podstawie jakiegoś linka z forum.
Uśmiech nie schodził mi z ryja do końca dnia.

Do biura mi nie po drodze

Mniej więcej w połowie roku wynikła u mnie sytuacja takiej natury, że bardzo chciałem pracować zdalnie, z domu. Gdy zatrudniałem się w Predice to jasno ustaliliśmy zasady, że praca z domu wchodzi w grę, ale przeplatana regularnymi wizytami w biurze. Byłoby wtedy jednak mi bardzo na rękę, gdyby to się zmieniło.

Miałem swoje powody ale wiem, że w większości firm to by nie przeszło. Tutaj przez ostatnie pół roku pracuję z domu. Ważne jest to, że robię co trzeba, a nie gdzie znajdują się moje seksowne cztery litery. Przekonałem się na własnej skórze że “rodzina jest na pierwszym miejscu” to nie tylko hasło do wycierania korporacyjnej mordy, ale że faktycznie można postępować według tej zasady. Tusku, to dobre hasło wyborcze!:).

Chcę się rozwijać… tak jak chcę

W wielu firmach (również w tych w których wcześniej pracowałem) przez “rozwój pracowników” rozumie się wysłanie ich na obowiązkowe szkolenie do jakiegoś ośrodka po to, aby stracili 3-5 dni życia i myśleli, że firma o nich dba. Kiedyś już pisałem co o tym myślę.

Tutaj jest inaczej. Każdy ma swój roczny budżet w wysokości X tys pln który może przeznaczyć na różne cele. A to jakaś konferencja (w tym budżecie zmieści się prawie każda światowa konferencja), a to dowolne szkolenie (chociaż do kilku dni z Udim musiałbym całkiem sporo dołożyć z własnej kieszeni, no ale nie oczekujmy cudów:) ), a to książki, a to kursy… Ja kupiłem sobie za to Kindle’a, parę książek i pojechałem do Wilna na “We actually build stuff”. I jeszcze zostało, ale już nie miałem w tym roku na co wydać. Wykupiłbym sobie subskrypcję Pluralsight albo TekPub, ale te mam już z innych źródeł.

Bardzo polecam takie podejście. Naprawdę pracownik czasem wie lepiej czego mu trzeba, a nawet jeśli bezpośrednio nie przełoży się to na jego efektywność w bieżącym projekcie to z pewnością doceni taki gest.

A ja mam fajny pomysł…

Zdarza mi się czasami mieć fajny pomysł. Serio. I niesamowicie mnie irytuje jeśli ktoś go nie chce wysłuchać. Nie “wykonać”, ale nawet właśnie “wysłuchać”.

Tutaj od dawna pomysłem – nie tylko moim – było założenie firmowego bloga. Z tego co kojarzę to chyba ja dorzuciłem koncepcję, aby rozszerzyć taką działalność “community” również na open source.

Organizacja całości trochę trwała, ale blog jest: http://blog.predica.pl/. Mało tego, open source też jest: https://github.com/predica. Czy to się przełoży bezpośrednio na wzrost zysków firmy? Ciężko powiedzieć. Ale puszczanie w godzinach pracy kolejnego projektu na GitHuba albo pisanie posta w tematyce walki z FIMem daje bardzo dużo frajdy.

“Będziemy pisać testy jednostkowe”…

Taką formułkę słyszałem wielokrotnie, prawie wszędzie. Tylko zawsze niejawnie w głowach siedzi dopowiedzenie “o ile nie będzie to generowało żadnego narzutu”.

Przed dołączeniem do Prediki rozmawiałem z “osobami decyzyjnymi” i byli bardzo zadowoleni że jestem “freakiem” jeśli chodzi o testy czy czasami TDD. Oczywiście nastawienie było “super, będziemy to robić”. A u mnie od razu pojawiła się odpowiedź: “okej, zobaczymy…”.

No i zobaczyliśmy. Testy pisałem wcześniej i piszę teraz. Gdy ja byłem odpowiedzialny za projekt i nie oznaczałem ficzerów jako zakończone dopóki nie miały automatycznych testów i goniłem programistów do ich pisania – nigdy nie usłyszałem “zostaw to”.

To jest zaangażowanie w podnoszenie jakości pracy oraz rozwój pracowników pomimo inwestycji, które trzeba ponieść w trakcie tego procesu.

Podobnie było zresztą z Gitem. Moje projekty realizowaliśmy w Gicie, nawet mogłem oderwać zespół na cały dzień od prac bieżących żeby o Gicie porozmawiać. Jeszcze nie doszliśmy do momentu, w którym całkowicie i bezpardonowo TfuFSa kopiemy w krocze porzucając Git-Tfs i przechodząc na Gita w 100%, ale dzielnie walczę o to od wielu miesięcy i… kto wie:).

Pracuję od… do… i już – bo taką mamy umowę

Nie znoszę nadgodzin. Dawałem temu wyraz już niejednokrotnie na blogu, i poza nim. Zmuszanie do pracy po godzinach jest nieetyczne i nie powinno mieć miejsca. Po to podpisuje się umowę, aby określić warunki “wymiana X godzin pracy za Y kasy”. Jeśli zespół nie wyrabia się z projektami to ktoś zarządzający coś zawalił i dał im za dużo roboty. Koniec.

Nie mógłbym długo wysiedzieć w miejscu, gdzie nie respektuje się takich zasad. W Predice musiałem coś porobić po godzinach chyba dokładnie raz – prawie rok po rozpoczęciu pracy. I to dlatego, że prawdopodobnie ja zawaliłem i sam się poczułem w obowiązku zrekompensowania swojej nieuwagi dodatkowym czasem pracy. A sytuacje były różne.

Kiedyś w piątek po południu dostałem mailem TfuFSowe powiadomienie, że przypisano mi buga “critical”. Jako że jestem odpowiedzialny, fajny i w ogóle;), napisałem od razu pytanie czy jest to coś na tyle krytycznego że mam siadać i od razu poprawiać czy zrobić “do niedzieli”. Dostałem odpowiedź: “jest weekend, nawet krytyczne bugi mogą poczekać do poniedziałku”. Hel-LO!

Do tego dochodzi prawdziwie elastyczny czas pracy. Pracuję od 7 do 15 mimo tego, że większość osób pracuje inaczej – bo tak mi najwygodniej. I naprawdę od 15 do końca dnia mam wolne. Chcielibyście tak?:) Wiem co to znaczy wracać z pracy do domu o 19 bo kiedyś tak pracowałem. Nigdy więcej.


Wystarczy?
To jest tylko kilka przykładów z jednego roku pracy, które akurat przyszły mi do głowy. Było tego więcej. Ale to chyba najlepsza jaką mogę sobie wyobrazić odpowiedź na pytanie “Jak motywować programistę?”.

Przekażcie dalej.

Autor

Maciej Aniserowicz

Maciej Aniserowicz
"Procent"
developer / architect

MVP
MCP

Search
Facebook
Twitter
Archiwum
Kategorie
© Copyright 2008-2013 Maciej Aniserowicz. All rights reserved. Running on WordPress.