Od juniora do seniora

Posiadanie tytułu seniora nie jest jedynie kwestią umiejętności technicznych czy liczby lat spędzonych w pracy jako programista, ale także podejścia do pracy. Nie ma bowiem takiego projektu, w którym od początku do końca jesteśmy sam na sam z kodem i nie mamy kontaktu z drugim człowiekiem, bez względu na to, czy jest to klient, szef, czy członek zespołu. Tam, gdzie dochodzi do kontaktu z drugą osobą i budowania relacji, równie ważne jak umiejętności techniczne są umiejętności miękkie, które mogą - zarówno pozytywnie i negatywnie - wpłynąć na postęp prac w danym projekcie i atmosferę wokół niego.

Wyznaczanie ścieżki rozwoju w danym języku programowania czy technologii jest o wiele łatwiejsze niż planowanie i wdrażanie strategii rozwoju umiejętności miękkich, które będą miały realny wpływ na codzienną pracę i relacje z innymi.

Postanowiłem więc podzielić się listą sześciu zachowań, które podczas mojej wieloletniej pracy jako programista pomogły mi zbudować lepsze relacje z osobami z mojego zawodowego otoczenia, a także skuteczniej rozwiązywać zadania stawiane przede mną przez firmę oraz jej klientów - w pojedynkę, a także w zespole.

1. Bądź proaktywny

Nieprzypadkowo proaktywność znalazła się na pierwszym miejscu. Wszystkie zachowania, które wymienię, są równie ważne, ale to właśnie dzięki byciu proaktywnym będziesz w stanie wcielić je w życie tak, by doświadczyć pozytywnych rezultatów.

Nie jesteśmy programami komputerowymi, dlatego możemy wychodzić poza ramy otrzymanych poleceń, patrzeć na problemy z szerszej perspektywy oraz przejmować inicjatywę w bardzo wielu sytuacjach, których doświadczamy codziennie w pracy. To, że czytasz ten tekst świadczy już o tym, że jesteś proaktywny - z pewnością dobrze wykonujesz swoje zadania, ale zależy Ci na rozwoju z własnej nieprzymuszonej woli. Dlatego szukasz wskazówek, jak być jeszcze lepszym i wydajniejszym.

Wróćmy jednak do sedna sprawy i zobaczmy, jak wielką różnicę w codziennej pracy robi proaktywne podejście:

Sytuacja A. Pracujesz nad projektem, którego wykonanie wymaga użycia odgórnie narzuconej technologii, ale - używając ustalonego zestawu narzędzi - nie jesteś w stanie wykonać jednego z zadań. Możesz wysłać do klienta informację, że nie da się zrealizować wszystkich założeń projektu, używając ustalonej technologii i czekać na wiadomość zwrotną. Stosując proaktywne podejście przed wysłaniem informacji do klienta przygotujesz listę alternatywnych rozwiązań wraz z zaletami i wadami zastosowania konkretnej opcji, a także podasz estymację wdrożenia każdego z tych rozwiązań.

Sytuacja B. Pracujesz przez dłuższy czas nad projektem i zauważasz miejsca w kodzie aplikacji, które należałoby usprawnić, aby w przyszłości uniknąć błędów. Masz jednak bardzo dużo pracy, a klient nie zgłaszał żadnych uwag do tych elementów systemu. Możesz poczekać na uwagi od klienta i polecenie dodania nowych zadań oraz pracy nad nimi, licząc, że unikniesz większej ilości pracy. Stosując proaktywne podejście, przygotowujesz raport, w którym wymienisz wszystkie miejsca, które wymagają ulepszeń. Podasz od razu przewidywane konsekwencje w przypadku niepodjęcia działań, a także szacowany czas wprowadzania aktualizacji. Zaoferujesz także ponowne ustalenie priorytetów w przypadku zaakceptowania proponowanych zmian.

Sytuacja C. Twoja rola w projekcie ogranicza się do pracy nad backendem aplikacji. Będąc proaktywnym, zapoznajesz się także z technologiami frontendowymi - tak, aby jeszcze lepiej poznać struktury aplikacji, przyśpieszyć proces wprowadzania nowych funkcjonalności poprzez dostarczanie jeszcze lepszego interfejsu dla programistów frontendu, a także stać się jeszcze przydatniejszym członkiem zespołu, który w razie takiej potrzeby zajmie się także modyfikacjami innych elementów systemu.

We wszystkich wymienionych sytuacjach moglibyśmy nie podejmować żadnych dodatkowych działań i prawdopodobnie nie zdarzyłaby się żadna katastrofa, która pozbawiłaby nas obecnego miejsca pracy. Jednak tam, gdzie jest bierność, nie ma miejsca na rozwój i dawanie wartości. Działając proaktywnie nie tylko dajemy większą wartość innym, ale także przewidujemy i kształtujemy bieg przyszłych wydarzeń. Dzięki temu czujemy się pewniej, bo możemy lepiej przygotować się na nadchodzące wyzwania. Natomiast lepsze wykonywanie zadań realnie przekłada się na umocnienie naszej pozycji i zwiększenie poczucia własnej wartości.

2. Dawaj wiadomość zwrotną - feedback

Dobra komunikacja jest absolutną podstawą prawidłowego działania każdego projektu. Od niej zależy również tempo naszego rozwoju. Każdy człowiek postrzega świat i swoje działania subiektywnie i nie jesteśmy w stanie w 100% przyjąć na tyle dobrą perspektywę, aby zobaczyć własne poczynania w całkiem nowym świetle. Ukazałoby nam ono wszystkie aspekty, nad którymi musimy jeszcze popracować, aby osiągać lepsze wyniki.

Wartościowy i regularny feedback działa jak katalizator dla pozytywnych zmian, zarówno u członków projektu, jak i względem samego projektu. Wiadomość zwrotna zawsze niesie za sobą pozytywny komunikat - nawet, jeżeli informacja w niej zawarta dotyczy dokonanego błędu lub jakiegoś zaniechania. Koniec końców każda wiadomość prowadzi do zmiany na lepsze. Jedną z cech doświadczonych specjalistów jest dbałość o ten element komunikacji i brak lęku przed bezpośrednim poproszeniem o taką wiadomość oraz jej przekazaniem.

Należy oczywiście pamiętać, że wiadomość zwrotna nie ma nic wspólnego z krytyką, a jej dawanie nie jest zarezerwowane wyłącznie dla współpracowników o większym doświadczeniu czy wyższym szczeblu zawodowym. Więc bez względu na to, na jakim etapie swojej kariery jesteś, dbaj o regularne przekazywanie feedbacku swoim współpracownikom, a także pytaj o informacje zwrotne odnośnie własnej osoby i pracy - a wszystko, co usłyszysz od drugiej strony, traktuj jako wskazówkę, która naprowadzi Cię na drogę rozwoju umiejętności technicznych i miękkich.

Poza kwestiami rozwoju, regularny feedback pozwala także uniknąć błędów lub w porę podjąć decyzje, które mogą okazać się fundamentalne dla funkcjonowania danego przedsięwzięcia.

3. Kwestionuj

Jak wspomniałem, każdy z nas postrzega świat, a także rozwiązania danego problemu we własny, subiektywny sposób - nawet, jeżeli stara się uzyskać różne perspektywy przed podjęciem ostatecznej decyzji. Jako specjalista IT codziennie spotykasz się z wieloma rozwiązaniami tego samego problemu, bez względu na to, czy chodzi o wybór technologii do realizacji danego projektu, czy poprawę funkcjonowania już istniejących mechanizmów. Tak jak w innych dziedzinach, tak i w naszej branży istnieją rozwiązania sprawdzone i popularne, a każdy z nas podejmuje decyzje na podstawie własnej wiedzy i unikalnych doświadczeń gromadzonych przez lata zawodowej pracy.

Właśnie dlatego nie powinieneś brać żadnego rozwiązania za pewne, a przed podjęciem decyzji rozważyć alternatywne opcje. W razie niepowodzenia w działaniu którejś z nich warto także stworzyć plan.

4. Bądź wszechstronny

Chociaż wszechstronność odnosi się bezpośrednio także do pojęcia proaktywności to postanowiłem poświęcić jej osobny punkt. W dzisiejszym świecie IT cecha ta jest bardzo przydatna i ważna.

Załóżmy, że jesteś programistą, który zajmuje się budowaniem mechanizmów przetwarzania danych po stronie serwera. Znajomość technologii, które działają po stronie klienta pozwoli Ci wydajniej projektować aplikację oraz wspomóc zespół projektowy na każdym z etapów tworzenia kodu. Z drugiej strony, znajomość zasad biznesowych oraz podstawowych terminów branżowych pomoże Ci trafniej, jaśniej tłumaczyć wymagania biznesowe stawiane przez klienta na zadania niskiego poziomu dla zespołu programistów.

Twoja wszechstronność może także pomóc Ci podczas szukania nowej pracy lub negocjacji istniejących warunków. Umiejętność promocji własnej osoby w środowisku branżowym podnosi Twoją pozycję i wyróżnia Cię na tle wielu innych osób, które mogą konkurować z Tobą wiedzą techniczną i doświadczeniem.

To właśnie dzięki angażowaniu się w procesy na różnych etapach powstawania i funkcjonowania projektu jesteś w stanie spojrzeć na dany problem z szerszej perspektywy i przewidzieć konsekwencje danych rozwiązań. Czy istnieje bardziej wartościowy pracownik niż ten, który jednocześnie potrafi prowadzić zespół, ma ogromną wiedzę ale także wie jak utrzymywać relacje z klientem i być zaangażowanym na każdym etapie danego projektu?

5. Bądź częścią społeczności Open Source

Codziennie podczas pracy korzystamy z aplikacji lub rozwiązań stworzonych przez innych i udostępnionych nam bezpłatnie do użytku własnego - czyż to nie wspaniałe? Otwarte oprogramowanie to jedna z najlepszych cech naszej branży, ale także niesamowita możliwość uczestniczenia w tworzeniu projektów używanych przez setki tysięcy osób na całym świecie.

Współtworząc otwarte oprogramowanie nie tylko podnosisz własne umiejętności, poznajesz kod innych osób i nabywasz całkiem nową wiedzę, ale także zwiększasz swoją wartość na rynku pracy - ponieważ pracujesz nad rozwiązaniami, które są używane do generowania zysków przez tysiące firm na świecie.

Pokazujesz, że jesteś profesjonalistą, który nie tylko bierze, ale także dzieli się swoją wiedzą. Dba o środowisko, w którym pracuje na co dzień, a także świadomie tworzy markę osobistą, prezentując swoje umiejętności na rzecz dobra innych członków naszej społeczności.

6. Bądź mentorem

Wbrew powszechnej opinii uważam, że bycie mentorem nie jest zarezerwowane jedynie dla najbardziej doświadczonych specjalistów. Każdy z nas może być mentorem, bo każdy posiada jakąś wiedzę, którą może przekazać innej osobie. To prawda, że jedni mają jej więcej, inni mniej, a niektórzy potrafią sprawniej ją przekazywać. Ale fakt ten nie wyklucza nikogo z podjęcia tej roli.

Bycie mentorem to przede wszystkim stan umysłu oraz sposób postępowania. Dzielenie się wiedzą pozwala zweryfikować jej aktualność dzięki wiadomościom zwrotnym. Pomaga także utrwalić przekazywane informacje. Tak więc przekonanie, że mentoring to tylko dawanie, jest błędne. Czasem jest wręcz odwrotnie i dostajemy wtedy jeszcze więcej, niż dajemy.

Nawet prezentując tematy podstawowe tworzymy wartość - nasze spostrzeżenia i styl są unikalne, więc nigdy do końca nie wiemy, do kogo trafią prezentowane przez nas treści i doświadczenia.

Bycie mentorem wymaga wiele odwagi i pokory, jednak właśnie dzięki weryfikacji naszej wiedzy jesteśmy w stanie stwierdzić, czy jest ona nadal aktualna i poprawna, czy musimy popracować nad jej ulepszeniem.

Na koniec

Wymieniłem tylko sześć zachowań, które w moim subiektywnym odczuciu są najważniejsze - to tylko wierzchołek góry lodowej. Nie istnieje żadna prosta wskazówka, która pozwoli Ci szybko wspiąć się na szczyt. Tylko konsekwentna praktyka, praca nad sobą i wyciąganie wniosków z porażek pozwoli Ci osiągnąć nowy poziom. Pracę nad doskonaleniem umiejętności miękkich warto zacząć już dziś. Nie ma bowiem lepszego momentu na rozpoczęcie pracy nad sobą, niż teraz.