Pieniądze to nie wszystko, czyli motywacja programisty


Temat tego artykułu jest luźno związany z technologiami i programowaniem. Jednak mimo swej lżejszej natury, zagadnienie to pozostaje niezmiernie ważne. Nurtuje ono specjalistów od HR w setkach organizacji na całym świecie. Jakie czynniki mają wpływ na poziom zadowolenia, zaangażowanie i motywację programistów? Co sprawia, że jedni są do tego stopnia przywiązani do swojej pracy, że – zgodnie z powiedzeniem – wieszają się razem z własnym programem…, podczas gdy inni wypalają się w tempie meteorów?

W książce „The Motivation to Work” psycholog Frederick Herzberg opisał badania na temat zadowolenia z pracy, przeprowadzone w latach 50-tych XX wieku w Stanach Zjednoczonych, w grupie około 200 inżynierów i księgowych. Na podstawie uzyskanych wówczas wyników autor przedstawił dwuczynnikową teorię (Two Factor Theory), która stała się jedną z najpowszechniej akceptowanych teorii dotyczących motywacji w pracy. Zakłada ona podział czynników motywacyjnych na dwie kategorie.

  1. Czynniki higieniczne, czyli zapewnienie pewnego minimum komfortu pracy, którego brak automatycznie powoduje niezadowolenie, natomiast jego istnienie powoduje co najwyżej brak niezadowolenia. Do tej kategorii zaliczają się m.in. warunki pracy (np. dostępność toalety, wygodne krzesło, itp.), jakość zarządzania, wynagrodzenie, bezpieczeństwo czy polityka firmy.
  2. Czynniki motywujące, których brak w miejscu pracy powoduje brak zadowolenia, natomiast ich występowanie (o ile występują też czynniki higieniczne), powoduje wzrost zadowolenia. Do tej kategorii zaliczają się m.in.: możliwości rozwoju, samorealizacja, poczucie bycia docenianym itp.

Taki podział oznacza, że aby pracownik traktował swoje obowiązki właściwie – czyli tak, jak sobie tego życzy pracodawca – pewna część czynników motywujących jest absolutnie niezbędna. Co ciekawe, do tej kategorii zalicza się wynagrodzenie. Ponieważ w firmach informatycznych zatrudniających kilkudziesięciu programistów wszelkie udogodnienia związane z komfortem pracy są najczęściej zapewnione, skupimy się na drugim obszarze, który z punktu widzenia przełożonego jest ciekawszy do analizy…

Aby oddzielić kategorię czynników higienicznych od motywujących, wystarczy pomyśleć o dużej korporacji, w której wydaje się mnóstwo pieniędzy na „dopieszczanie” pracowników, a jednak znaczna ich grupa odczuwa brak motywacji, wypalenie, czasem też depresję. Z drugiej strony, są firmy startupowe, często zlokalizowane w prowizorycznym pomieszczeniu – przysłowiowym „garażu” czy magazynie – w których pracuje kilku-kilkunastu programistów. I pomimo braku środków na podstawowe artykuły, cała załoga jest mocno zmotywowana do pracy i wierzy w sukces swojego przedsięwzięcia.

Co zatem sprawia, że jedne projekty realizowane są z pasją i zaangażowaniem, podczas gdy inne wyczerpują wszystkich psychicznie, powodując stres, rezygnację i przygnębienie?

W artykule (http://www.softwarebyrob.com/2006/10/31/nine-things-developers-want-more-than-money/) „Nine Things Developers Want More Than Money” (dziewięć rzeczy, które programiści wolą od pieniędzy) Rob Walling wymienia te motywatory, które jego zdaniem kierują decyzjami programistów i mają wpływ na ich poziom zadowolenia.

  1. Nastawienie na sukces. Większość projektów informatycznych jest niestety skazana na porażkę. Niedotrzymywanie terminów, niedoszacowane budżety, niekompletny lub zmienny zakres prac – to najczęstsze skutki problemów w projektach, które nie idą zgodnie z założeniami. W takich przypadkach zawsze cierpi jakość. Pokusa, by „pójść na skróty” kosztem jakości w obliczu deadline’ów, jest duża, jednak trzeba wiedzieć, że dla programisty to zwykle bardzo duży demotywator.
  2. Doskonałe zarządzanie. Programiści oczekują, że przed przystąpieniem do kodowania wszystkie zadania zostaną precyzyjnie zaplanowane, a niejasności wyjaśnione. Wrogiem programisty jest mikrozarządzanie. Poza tym, dobry menedżer w obliczu niepowodzeń chroni zespół przed atakami z zewnątrz. Lider, który „daje głowę” za swój zespół, zasługuje na szacunek i lojalność.
  3. Nauka nowych rzeczy. Rzadko zdarza się programista, który nie chce uczyć się nowych technologii, nowych języków, nowych narzędzi. Zdecydowanej większości programistów zależy na zdobywaniu nowych kompetencji.
  4. Promowanie kreatywności. Programiści lubią wyzwania. Rozwiązanie problemu, który jest daleki od sztampy, działa zawsze ożywczo na programistów Dlatego rzucanie ich „na głęboką wodę” często przynosi znakomite rezultaty.
  5. Bycie słyszanym. Programiści często mają wiele do powiedzenia i powinni być wysłuchani. U dewelopera, z którego zdaniem nikt się nie liczy, narasta frustracja. Sfrustrowany programista będzie zdemotywowany.
  6. Docenianie dobrej roboty. W idealnych warunkach każdy powinien być w pełni zaangażowany, kreatywny oraz gotowy do wydajnej pracy. Oczywiście w praktyce nie zawsze jesteśmy w stanie dać z siebie 100 procent, ale bywają momenty, kiedy dajemy nawet 150. Świadomość, że ktoś to zauważa i docenia, jest silnym motywatorem. Na tej samej zasadzie powinny być doceniane wszystkie wymagające zadania, z którymi nie każdy by sobie poradził.
  7. Budowanie liczących się rozwiązań. Zupełnie inaczej pracuje się nad funkcjonalnościami, które mają być wykorzystywane przez setki użytkowników w ich codziennej pracy, niż formatki dla jednej osoby, która będzie z niej korzystać raz na pół roku. Świadomość wagi danego rozwiązania mobilizuje do wzmożonej pracy.
  8. Niezależność. Budowanie rozwiązań bez konieczności otrzymania akceptacji na wielu szczeblach decyzyjnych jest znacznie przyjemniejsze od pracy pod presją nadmiernie rozrośniętej biurokracji.
  9. Brak ograniczeń z przeszłości. Programista często staje przed koniecznością rozwijania oprogramowania napisanego kilka lat wcześniej przez osoby, z którymi już nie ma kontaktu, przy dostępie do szczątkowej dokumentacji. Jeśli kod zastany jest marnej jakości, programista, który go „odziedziczy”, prawdopodobnie będzie chciał go poprawić lub przepisać od nowa. Frustracja może się pojawić, jeśli okaże się to zbyt kosztowne i jedyne, co można zrobić, to „łatanie” dziurawego kodu.

W innym artykule (http://www.lessonsoffailure.com/developers/autonomy-mastery-purpose/) dotyczącym motywacji, pt. „Top Three Motivators For Developers (Hint: not money!)” (trzy najważniejsze motywatory programistów (podpowiedź: nie kasa!)), użytkownik o nicku „drodenbaugh” sprowadza czynniki motywujące programistów do zaledwie trzech punktów.

  1. Autonomia
  2. Mistrzostwo
  3. Cel

Trzy czynniki motywacji

Autonomia w pracy programisty oznacza wykonywanie zadań (najlepiej takich, które sam sobie wybiera) na swoich warunkach, we własny sposób, w preferowanych przez siebie godzinach, używając własnych narzędzi, środowiska, edytora, języka programowania, systemu operacyjnego, a nawet ulubionego T-shirta. Autor artykułu do tego stopnia jest przekonany o ważności tego postulatu, że rzuca czytelnikom śmiałe wyzwanie: jeśli ktoś znajdzie programistę, który nie pożąda tego rodzaju wolności, on sam jest gotowy za wskazanie takiej osoby zapłacić 10 dolarów. I mówi to całkiem poważnie. Porównując poczucie autonomii z dziewięcioma punktami z poprzedniego artykułu, jego odpowiednikami są punkty 8 i 9 (niezależność oraz brak ograniczeń z zaszłości).

Mistrzostwo natomiast jest rozumiane jako pożądanie każdego programisty na tej planecie do bycia coraz lepszym we własnym fachu. Można to porównać do zdobywania kolejnych poziomów wtajemniczenia w tajnym stowarzyszeniu. Już sama świadomość własnej wartości – tego przekonania, że z danym zagadnieniem jest w stanie zmierzyć się co najwyżej niewielki promil ludzkości – wystarczy programiście, aby z ochotą zabierał się za coraz trudniejsze zadania. Odnosząc ten czynnik do listy motywatorów z poprzedniego artykułu, jego odpowiednikami będą punkty 3 i 4 (nauka nowych rzeczy i promowanie kreatywności).

Ostatnim czynnikiem z powyższej trójki jest cel. Praca programisty wymaga odpowiedniego ukierunkowania. Jego zaangażowanie łatwo się ulotni, jeśli pracodawca nie ma wizji, cierpi na brak wartości, z którymi utożsamiają się pracownicy, strategia rozwoju jest niejasna albo realizuje się same „niekończące się” projekty. Cel rozumiany jako kierunek, do którego wspólnie zmierzają wszyscy pracownicy, jest bardzo ważnym czynnikiem również z innego powodu. Gdy nie ma celu, każdy liczy na lidera, który im ten cel wskaże. To pociąga za sobą konsekwencje w postaci mikrozarządzania i podejmowania przez menedżerów setek niepotrzebnych decyzji, które mogłyby być rozstrzygane na niższych szczeblach, gdyby tylko znany był ogólny kierunek, w jakim wszyscy podążają.

Praca bez celu jest straszliwie demotywująca, ale ten rodzaj demotywacji bywa chyba najczęściej bagatelizowany. Można programistom zapewnić luksusowe warunki pracy, wyposażyć w innowacyjne narzędzia, udzielić maksimum autonomii oraz dostarczyć wyzwań rozwojowych – a mimo to praca, która nie ma ważnego celu i nie wnosi żadnej większej wartości poza regularnym wynagrodzeniem będzie dla programisty pozbawiona sensu, a przez to demotywująca. Odpowiednikiem tego czynnika w poprzednim artykule jest na pewno punkt 7 (budowanie liczących się rozwiązań), ale także 1 (nastawienie na sukces).

motivation

Pozostałe 3 punkty z poprzedniego artykułu, czyli numery 2, 5 i 6 (doskonałe zarządzanie, bycie słyszanym, oraz docenianie dobrej roboty) sprowadzają się właściwie do wspólnego mianownika, jakim jest odpowiednie zarządzanie. Dlaczego więc, skoro jest to tak ważny czynnik, został on pominięty w wielkiej trójce autonomia-mistrzostwo-cel? Zapewne za sprawą przekonania, że dobre zarządzanie jest niewidoczne – przynajmniej „na pierwszy rzut oka”. Praca w dobrze zarządzanym zespole wygląda tak, jakby zespół był „samozarządzalny”, mimo że ktoś ciągle dba o podsycanie tej energii, która napędza zespół.

Jak rozpoznać dobrze zarządzany zespół? Można się posłużyć analogią do muzyki – dobrze zgrana orkiestra jest w stanie zagrać koncert nawet wtedy, gdy zabraknie dyrygenta. Jeśli brak szefa zespołu nie jest przeszkodą do sprawnego działania całego zespołu, oznacza to, że wszyscy znają wspólny cel i wiedzą dokładnie, czego się od nich wymaga. A co za tym idzie – działają sprawnie i realizują swoje zadania.

Jak zatem działa doświadczony menedżer, który utrzymuje zaangażowanie zespołu programistów na wysokim poziomie? Który jest postrzegany jako charyzmatyczny lider i za głosem którego podąża cały zespół? Przede wszystkim musi on pamiętać o trzech najważniejszych czynnikach, które motywują jego ludzi: autonomii, mistrzostwie i celu.

A co z pieniędzmi? Czy w takim razie wysokość wynagrodzenia się nie liczy? Owszem, czynnik materialny jest ważny. Przy czym, zgodnie z dwuczynnikową teorią przytoczoną na wstępie, jest to element należący do kategorii czynników higienicznych. Mechanizm działania motywatora materialnego w postaci wynagrodzenia za pracę wymagającą kreatywności, wyczerpująco wyjaśnia Dan Pink w swojej prelekcji (http://www.ted.com/talks/dan_pink_on_motivation) pt. „The puzzle of motivation” (zagadka motywacji). Przedstawia on „doświadczenie ze świeczką”, za pomocą którego statystycznie udowodniono, że zwiększanie wynagrodzenia za wzrost kreatywności – wbrew wszelkim oczekiwaniem – zwyczajnie nie działa.

Wyjaśnienie tej zagadki jest zaskakująco proste. Owszem, w pracach, które nie wymagają twórczego myślenia (czyli wszelkich czynności powtarzalnych, w przypadku których głównym miernikiem jest ilość) można stymulować wydajność poprzez zwiększanie wynagrodzenia. W takich przypadkach zawsze znajdzie się pewien próg produktywności (wydajności), do którego zwiększanie wynagrodzenia działa motywująco. Wzór na sukces jest bardzo prosty: im szybciej wykonujesz swoje zadanie (im więcej pracy wykonasz w jednostce czasu), tym więcej zarobisz. Niestety, tego samego wzoru nie da się przyłożyć do prac, które wymagają twórczego myślenia, kreatywności, rozwiązywania złożonych zagadnień itp. Dzieje się tak dlatego, że nie da się „na zawołanie” zwiększyć inteligencji czy umiejętności abstrakcyjnego myślenia tak samo, jak można zwiększyć tempo wykonywania jakiejś czynności fizycznej.

Kluczem do zrozumienia, dlaczego pieniądze (a raczej zwiększanie wynagrodzenia) nie są dobrym motywatorem w branży IT, jest uświadomienie sobie, że zespoły pracujące nad oprogramowaniem komputerowym nieustannie muszą działać twórczo i kreatywnie. I to wcale nie dotyczy samych programistów, ale wszystkich członków takich zespołów, włączając w to analityków, testerów, a także menedżerów.

Niezależnie od technologii, narzędzi, języków, a nawet niezależnie od projektów – większością programistów kierują bardzo podobne czynniki motywujące. Zrozumienie tych czynników jest kluczowe, jeśli chce się osiągać sukcesy w projektach informatycznych i cieszyć się lojalnością zespołu.

Źródła

  1. http://www.lessonsoffailure.com/developers/autonomy-mastery-purpose/
    • Obrazek „Motivation” (kadr z filmu „Office Space”) pochodzi z powyższej strony.
  2. http://www.softwarebyrob.com/2006/10/31/nine-things-developers-want-more-than-money/
  3. http://info.comakeit.com/misconceptions-about-what-software-developers-really-want
  4. http://www.12manage.com/methods_herzberg_two_factor_theory.html
  5. https://pl.wikipedia.org/wiki/Frederick_Herzberg
  6. http://www.ted.com/talks/dan_pink_on_motivation

Jarosław Fostacz

O Jarosław Fostacz

Od 2003 roku jestem związany z firmą ATENA – początkowo jako programista, następnie projektant. Aktualnie jestem kierownikiem Zespołu ds. Rozwoju i Technologii, oraz opiekunem niniejszego Bloga Technologicznego. Moją siłą napędową jest nieustanne poszukiwanie innowacji oraz nowych technologii.


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Komentarz do “Pieniądze to nie wszystko, czyli motywacja programisty

  • Beata

    Chciałabym jeszcze zauważyć, że dobrym sposobem na motywację pracowników jest wprowadzenie systemów kafeteryjnych (szerzej opisane są tu: http://motivizer.pl/system-kafeteryjny-w-skrocie/). Wtedy pracownik nie dość, że dostaje dodatkowe benefity poza pieniężne, to jeszcze sam uczestniczy w ich wyborze, a nie są mu one przydzielane odgórnie. Co za tym idzie? Zwiększa się jego satysfakcja z pracy i nie szuka lepszej oferty u konkurencji.