Wydawać by się mogło, że empatia to kolejny świetnie brzmiący buzzword, ale jeśli przyjrzeć się tej kwestii nieco bliżej, można dojść do wniosku, że empatia dla programisty jest nie mniej ważna niż umiejętności techniczne. Wszystko dlatego, że w IT stawia się coraz częściej na działania zespołowe i na coraz lepsze zrozumienie odbiorców produktów.
Empatia może przydać się w każdej pracy, wszędzie tam, gdzie współpracuje się z ludźmi. Dlaczego więc nie miałaby być ważna w pracy programisty? Jeszcze w 1999 roku duet autorów Andrew Hunt i Dave Thomas w swojej książce „The Pragmatic Programmer: From Journeyman to Master” nawoływali, aby programiści byli przede wszystkim pragmatyczni, potem wiele mówiło się o kluczowej roli pasji w programowaniu (na przykład Chad Flower w książce „The Passionate Programmer”), dziś należałoby do tego dodać jeszcze empatię.
Empatyczni zarabiają więcej!
Empatia ma znaczenie nie tylko dla rozwoju kariery Software Developera, ale jak się okazuje, także przekłada się na wymierne korzyści finansowe dla pracodawców. Dość dobrze pokazuje to publikowany od kilku lat Empathy Index. Według niego firmy, które osiągnęły wysoki poziom empatii (brano pod uwagę m.in. publiczne dane, sprawozdania finansowe, ocenę prezesów dokonaną przez pracowników, rozpatrywanie skarg, opinie o firmie itp.), zarabiają o 50% więcej niż te przedsiębiorstwa, w których empatia jest bardzo niska. Mało tego, pracownicy firm, w których panuje duża empatia, zarobili w 2016 roku o 6% więcej niż w 2015 roku, natomiast pensje osób zatrudnionych w najgorszych pod względem empatii przedsiębiorstwach spadły w tym samym okresie o 9% w ujęciu rocznym. Warto podkreślić, że na czele rankingu empatii znajduje się sektor technologii i nie jest to wcale przypadek. Firmy z obszaru IT już dawno zrozumiały dużą wagę empatii w działalności biznesowej. Przykładem jest lider zestawienia – Facebook – który nawet powołał do istnienia specjalną komórkę: Empathy Lab. Oto zestawienie dwudziestu najbardziej empatycznych firm:
Źródło: hbr.org
Jednak empatia to nie tylko więcej zarobionych pieniędzy, ale przede wszystkim lepiej pracujące osoby i sprawniej działające zespoły. Google realizowało niedawno Projekt Arystoteles, w którym próbowano zbadać, co sprawia, że jedne teamy są idealne i efektywne, a inne – nieskutecznie i po prostu źle pracują. Okazało się, że jednym z czynników wpływających bardzo pozytywnie na funkcjonowanie zespołu jest właśnie empatia. Zespoły IT, które osiągały świetne wyniki, składały się głównie z osób, które były wrażliwe na potrzeby współpracowników, potrafiły odczytywać emocje drugiego człowieka z tonu głosu i innych niewerbalnych sygnałów. Wygrywali ci, którzy byli otwarci na drugiego człowieka, którzy nie stronili od drobnych uprzejmości i życzliwości.
Skoro już tyle napisaliśmy na temat pozytywnego działania empatii w biznesie i karierze zawodowej, warto zastanowić się, czym tak naprawdę jest empatia.
Empatia – co kryje się za tym terminem?
Nie jest łatwo wytłumaczyć w prosty sposób, czym jest empatia. Już nawet samo pochodzenie tego terminu nie jest proste. Chociaż wywodzi się z greckiego słowa „empatheia”, co oznacza dosłownie „miłość fizyczną, pasję, stronniczość”, to jego współczesne znaczenie zostało podporządkowane niemieckiemu znaczeniu słowa Einfühlung (utożsamianie się z czymś, uczucie). Nie ma nawet jednej oficjalnej definicji empatii. Część psychologów kładzie nacisk na emocjonalną stronę empatii i określa ją jako właśnie emocjonalne reagowanie na odczucia i potrzeby drugiego człowieka. Inni naukowcy podkreślają sferę poznawczą, mówią o empatii, jako o wykształconej umiejętności, która pozwala trafnie odgadywać i rozumieć to, co przeżywa druga osoba. Jeszcze inni psychologowie łączą dwa powyższe stanowiska, traktując empatię jako reakcję emocjonalną, którą wywołują procesy poznawcze. Brzmi to nieco zawile, ale wydaje się najbliżej tego, co potocznie rozumie się przez termin „empatia”. W amerykańskim słowniku prestiżowego wydawnictwa Merriam-Webster możemy przeczytać, że empatia to „zrozumienie, świadomość, wrażliwość i umiejętność wnikania w uczucia i doświadczenia innych osób”. Takim właśnie rozumieniem tego terminu będziemy się posługiwali w dalszej części artykułu. Wróćmy jednak teraz do empatii w pracy programisty.
Bycie empatycznym w kodowaniu
Empatia wydaje się jedną z ważniejszych cech, które mogą skutecznie wpłynąć na karierę zawodową programisty. Jak wspomnieliśmy już wyżej, dziś to umiejętność coraz bardziej doceniana przez pracodawców. Nie zapominajmy, że programista tworzy zazwyczaj narzędzia i produkty dla innych osób, nie dla siebie. To sprawia, że bycie empatycznym jest nieocenione. Tylko wtedy tworzy się oprogramowanie dla ludzi, a nie dla samej sztuki programowania. Empatyczny koder jest w stanie spojrzeć na produkt, który tworzy, z perspektywy użytkownika. Inne podejście często kończy się porażką. Często reakcją programistów na narzekania użytkowników jest słynne „u mnie działa” albo stwierdzenie, że „użytkownik nie umie używać aplikacji”. To może być oznaka braku umiejętności wczucia się w położenie użytkownika. Takie podejście prowadzi nierzadko do wypuszczenia na rynek jeśli nie całego produktu, to przynajmniej części funkcjonalności, których tak naprawdę nikt nie potrzebuje, a na które wydano duże pieniądze i którym poświęcono dużo czasu. Empatią powinien wykazać się cały team projektowy - włączając designerów i programistów. Jeżeli osoby zaangażowane w projekt potrafią postawić się w sytuacji użytkowników, przyjąć ich perspektywę to wtedy efekt jest o wiele lepszy, a to przekłada się także na lepsze wyniki finansowe firmy.
Programowanie to coraz częściej praca zespołowa. Empatia w pracy programisty musi także pojawiać się na poziomie współpracy z innymi osobami, zatrudnionymi przy danym projekcie. Oczywiście skupienie się na technologii jest bardzo ważne, jednak dużo łatwiej odnieść sukces, jeżeli zespół dobrze się rozumie. Do tego jest potrzebna odrobinka zrozumienia dla innych osób. Brak umiejętności wejścia w buty innego człowieka widać przy tworzeniu dokumentacji przez programistów. Dla osoby, która wykonała dany fragment wszystko jest jasne, dlatego często uważa, że dokumentacja w bardzo zwięzłej formie wystarcza. Jednak może się okazać, że dla osoby z zewnątrz powiązania np. między endpointami nie będą wystarczająco klarowne. Inny przykład to stosowanie niestandardowych praktyk i niepozostawianie wystarczającego komentarza na temat ich użycia. Przy standardowym CRUD-zie komentarze mogą być zbędne, ale przy skomplikowanym module parę linijek wyjaśnienia może być nieocenione. Empatia na tej płaszczyźnie polega na poszanowaniu programistów, którzy będą nad tym kodem pracować w przyszłości. Wczuciu się w to co oni mogą przeżywać. Można powiedzieć, że empatia to branie większej odpowiedzialności za swoją pracę. Kolejną płaszczyzną jest praca zespołowa, praca z człowiekiem. Zrozumienie tego, że nie każdy zawsze działa na 100%, każdemu może zdarzyć się słabszy dzień. Zauważenie, że ktoś potrzebuje zmiany, odpoczynku. To jest szczególnie przydatne dla liderów zespołów.
Empatia jako tajna broń programisty
Programiści są stereotypowo postrzegani jako osoby introwertyczne, które niezbyt dobrze rozumieją innych ludzi, oni rozumieją kod. Dlatego empatia w tym wypadku robi taką różnicę. Dzięki niej można zajść zawodowo tam, gdzie nie wszyscy docierają, a kariera programisty może nabrać szybszego tempa. Empatyczny koder lepiej traktuje ludzi i współpracowników, lepiej rozumie ich potrzeby, rozumie klientów. Taka osoba nie wywołuje konfliktów w pracy, przewiduje reakcje i działania współpracowników. Mało tego, empatyczny programista łatwiej przekonuje innych ludzi do swoich racji i łatwiej radzi sobie z negatywnym nastawieniem drugiego człowieka. Czy zatem można uważać, że empatia nie jest ważna w pracy programisty? Wątpliwe