Menu Zamknij
22 czerwca 2022

Czym charakteryzują się czołowi programiści?

Wstęp

Rozwój programisty to walka z ciągle pojawiającymi się przeszkodami i przeciwnościami losu. Warto jednak poświęcić się na rzecz tego trudu, aby ostatecznie zrealizować swoje cele, i przykładowo zdobyć pierwszą upragnioną pracę jako programista czy też uzyskać awans w firmie. Rynek IT potrzebuje prawdziwych problem-solverów będących równocześnie wybitnymi programistami, aby pierwsza praca w IT była jedynie wstępem do później pojawiających się okazji i perspektyw. 

Dlatego naszym zadaniem jest przede wszystkim szkolenie świadomych i maksymalnie wysoko wykwalifikowanych programistów, podnoszenie ich soft skilli, zwracanie uwagi na to, co jest ważne w rozwoju. Rozwijamy w developerach te cechy, które pomagają im osiągnąć sukces w branży.

Pierwszym krokiem, abyś jednak mógł realizować cele jest uświadomienie sobie, co faktycznie pomoże Ci w zostaniu prawdziwie dobrym i wspinającym się po szczeblach kariery i sukcesów programistą. 

Artykuł ten opisuje właśnie każdą z pożądanych umiejętności i zachowań, które pomogą Ci stać się bezkonkurencyjnym na rynku. W tekście poniżej podsunę Ci praktyczne rady i wskazówki, jak budować w sobie nieoczywiste cechy i łatwiej realizować cele zawodowe. 

Wszystko po to, aby w rezultacie charakteryzowały Cię poniższe punkty:

  1. Jesteś builderem
  2. Jesteś zdeterminowany
  3. Jesteś nieustannie głodny wiedzy
  4. Łatwo dogadujesz się z innymi programistami
  5. Jesteś “psychologiem” w IT
  6. Masz swojego mentora
  7. Potrafisz wyczuć emocje ludzi

 

Jesteś builderem

Jest to cecha ułatwiająca dogłębne poznanie tematów programistycznych i spojrzenie na zdobytą wiedzę z niestandardowej perspektywy. Builderzy to osoby, które zdobyte umiejętności popierają praktycznymi i niecodziennymi projektami. Nie zamykają się w obszarze samej teorii oraz pojedynczych zadań umożliwiających jedynie pobieżne zrozumienie danego zagadnienia. Oni chcą tworzyć i wymyślać kolejne rozbudowane i praktyczne projekty, do których wdrażać będą wszystkie poznane dotąd koncepty i zagadnienia. 

Builderów nie satysfakcjonuje poznawanie samej teorii czy abstrakcyjnych konceptów. Oni pragną budować złożone produkty i uczyć się zagadnień w praktyce.

Co robić?

Aby rozwijać w sobie cechy buildera, przede wszystkim dbaj o swoje portfolio i nieustannie szukaj pomysłów na implementowanie praktycznych projektów. Moim rozwiązaniem, gdy pracuję indywidualnie z uczniem, jest utworzenie co najmniej jednego większego projektu, który podsumowuje umiejętności z wielu różnych obszarów programowania, np. architektura mikroserwisowa, kolejkowanie, REST z równoczesnym zapewnieniem wysokiego bezpieczeństwa aplikacji i danych (XSS, CSRF), komercyjny i wzorcowy flow pracy z kodem.

 

Jesteś zdeterminowany

Wysoka motywacja i równoczesne zdeterminowanie to jedne z najważniejszych cech, jakie powinien posiadać programista, niezależnie na jakim etapie nauki się znajduje. To normalne, że w trakcie ciężkiej i mozolnej pracy (jaką nierzadko jest programowanie) pojawiają się momenty zawahania, a w głowie kłębią się myśli: “Czy to na pewno dla mnie? Czy dam radę?”. Dlatego też tak ważną rolę odgrywa ciągłe motywowanie się i nierezygnowanie ze swoich celów przy nadarzających się przeciwnościach.

Co robić?

Przede wszystkim zdaj sobie sprawę, że samorozwój jak i nauka programowania to ciągłe wzloty i upadki, tak jak ukazuje to obrazek poniżej.



Pamiętaj, że nie od razu Rzym zbudowano, a dogłębne poznanie trudniejszych tematów może zajmować nawet doświadczonemu programiście wiele miesięcy czy lat. 

Po drugie - po prostu pracuj mądrze, sumiennie wykonuj swoją pracę, dbaj również o wypoczynek, a efekty oceniaj przez porównywanie, jak wiele się nauczyłeś i jaki progress zrobiłeś na przestrzeni ostatnich kilku tygodni. Ucz się w swoim tempie, z błędów wyciągaj wnioski i nie poddawaj się za szybko. 

Sam niejednokrotnie pracuję z nawet już bardziej doświadczonymi programistami, którym brakuje determinacji i nie wierzą w możliwość osiągnięcia swoich celów. Wówczas, z doświadczenia wiem, że dobrym rozwiązaniem jest również poproszenie o obiektywną ocenę swojej sytuacji osoby, która już przeszła przez wszystkie dotyczące Cię problemy i jest nieco bardziej doświadczona w tym temacie. Wówczas szczera rozmowa może mocno pokrzepić i rzucić nowe światło na problem, pomóc w wyciągnięciu wniosków i najczęściej przełożyć się na łatwiejsze rozwiązanie problemu.  

 

Jesteś nieustannie głodny wiedzy

Stajesz się niezwykłym i wyróżniającym się na rynku programistą zazwyczaj wtedy, gdy jesteś cały czas żądny wiedzy i nie satysfakcjonuje Cię poznanie tematu po najmniejszej linii oporu. Takich developerów charakteryzuje ciągłe drążenie tematu, nie są usatysfakcjonowani jedynie pobieżnym zrozumieniem danego tematu, bez przerwy chcą poszerzać swoją wiedzę i horyzonty przez nieustanne szlifowanie swoich umiejętności. Z cechą tą związany jest jednak ważna reguła. Nie bądź jak wieczny student i emanuj również wysoką pewnością siebie. Niech fakt, że znasz dany temat na 90%, a nie na 100%, nie powoduje oddalania Cię od Twoich celów i postrzegania siebie przy nowych wyzwań jako “jeszcze nie jestem gotowy, muszę lepiej poznać dane zagadnienie” (co jest związane z Syndromem Oszusta, o którym więcej w następnych sekcjach). 

Równocześnie pamiętaj, że zgodnie z zasadą Pareto - 80% sukcesu można osiągnąć 20% nakładem sił, na pozostałe 20% trzeba poświęcić już 80% całego zaangażowania. Dlatego rozwój jest ważny, ale perfekcjonizm nigdy nie jest dobry. Już i tak poznając na bieżąco nowe technologie i zagadnienia, wyprzedzisz 90% pozostałych programistów w branży, którzy mają tendencję do trwania w statusie quo i nierozwijania się ponad swoje codzienne obowiązki w pracy. 

Co robić?

Przede wszystkim nie bój się inwestować w siebie, kupuj kolejne szkolenia, uczestnicz w meet-upach i konferencjach. Pamiętaj o Syndromie Wiecznego Studenta i nie doprowadź, aby dotknął również i Ciebie. Dlatego zdobytą wiedzę zawsze popierają praktyką i bądź świadomy tego, że perfekcjonizm nie zawsze jest dobry. Liczy się sumienność w poznawaniu kolejnych zagadnień i wytrwałość w nieustannym szkoleniu się i podnoszeniu swoich kompetencji (co niejako jest też związane z determinacją u programistów).

 

Łatwo dogadujesz się z innymi programistami

Cecha ta dotyczy tego, aby być otwartym i komunikatywnym programistą, nie być przykładem stereotypowego “piwniczaka”. Bądź otwarty na pomaganie innym, przykładowo mniej doświadczonym programistom, staraj się angażować w codzienne wyzwania w pracy, a prędzej czy później Twoja proaktywność zostanie zauważona i doceniona. Jestem skłonny powiedzieć, że na obecnym rynku IT umiejętności twarde liczą się tak samo mocno, co umiejętności miękkie. Bo jeżeli chcesz się wspinać po szczeblach kariery, awansować w pracy i budować swoją renomę dobrego programisty, musisz wyjść z (introwertycznej) strefy komfortu i pokazać zespołowi, że jesteś osobą mającą zadatki na rolę lidera technicznego. Taka osoba musi przecież dowodzić, potrafić skutecznie rozwiązywać problemy. Zamykanie się w obrębie własnego “ja” i unikanie komunikacji z innymi, raczej nie przybliży Cię do awansu i docenienia w pracy. 

Oczywiście nie zawsze wymaga się w firmie od programisty takiej wszechstronności i wysokich umiejętności na płaszczyźnie soft skilli, ale są to cechy, które raczej pomogą Ci w rozwoju, aniżeli oddalą Cię od osiągnięcia celów. Też nie zrozum mnie źle, wybitny specjalista wcale nie musi być komunikatywny i otwarty na innych ludzi. Jednak artykuł ten dotyczy tego, jak wybić się w branży i osiągnąć w niej sukces. Dlatego też musimy uciekać do niestandardowych i niekoniecznie powszechnych rozwiązań. 

Co robić?

Wiem, że ciężko jest zmienić swoją naturę introwertyka na osobę bardziej otwartą na ludzi. Dlatego będzie to wymagało ciężkiej pracy i zmiany obecnych zachowań. Tutaj nie wskaże Ci jednego uniwersalnego rozwiązania. Sam musisz wyrobić w sobie nawyki pomagające w komunikowaniu się z innymi. Ja mogę jedynie przytoczyć Ci przykładowe kroki, jakie podjęły znajome mi osoby, aby otworzyć bardziej się na ludzi:

  • Zaczęli, oprócz swojej codziennej pracy developerskiej, pełnić również role, gdzie rozwijały ich umiejętności twarde jak i soft skille, np. mentor, korepetytor programowania
  • Słyszałem również o nieco bardziej hardkorowych, a wręcz nieco groteskowych rozwiązaniach. Wielu developerów zdecydowało się na pracę "pogodzinach" w ramach Help Desku, gdzie wówczas zmuszeni byli do interakcji z klientem i innymi osobami. Jest to jednak skrajny przykład, choć przyznać trzeba, że kreatywności nie brakuje.

 

Jesteś “psychologiem” w IT

Trzeba przyznać, że IT jest specyficzną i wymagającą branżą. Na programistów czyha wiele syndromów, pułapek psychologicznych, jak i myślenia. Niestety to właśnie przez nie wielu programistów nie docenia swojej pracy, umiejętności i nie wierzy w swoje możliwości. Na ten temat pisaliśmy więcej tutaj i wspominaliśmy wówczas o takich pułapkach jak: Syndrom Oszusta, Efekt Krugera-Dunninga, Syndrom prokrastynacji. Aby nie zaburzać swojego rozwoju i nie zaprzątać sobie głowy ciągle pojawiającymi się przemyślenia i wątpliwościami, warto zacząć od zrozumienia przyczyny i sposobu powstawania każdego z syndromów. Dzięki temu nie będziesz tak często tracił motywacji do rozwoju i skupisz się na ciągłym progressowaniu.

Co robić?

Tak jak już wspomniałem - zacznij od zrozumienia podłoża każdego z problemów psychologicznych w IT. Jak się okaże, wiele z nich jest spowodowane prowadzeniem niehigienicznego trybu życia, przeciążaniem się pracą czy ciągłym porównywaniem się do innych. Z mojego doświadczenia - aby uchronić się przed konsternacją wynikającą z niepowodzeń czy innych trudności w IT, mogę Ci zaproponować, abyś zawsze wyznaczał sobie mniejsze i mierzalne cele, dał sobie czas na zrozumienie i opanowanie różnych zagadnień programistycznych i przede wszystkim pojął, że nauka to nie sprint, tylko maraton. Nie można z dnia na dzień (a wręcz z miesiąca na miesiąc) stać się programistą, czy osiągnąć bardzo ambitny cel. Zazwyczaj zajmuje to długie miesiące, a może nawet lata. Rób swoje, bądź pewny zdobytych umiejętności, wierz w siebie i nie zważaj na okoliczności. Czas i tak upłynie, a warto, abyś za X miesięcy był pewny, że dobrze zrealizowałeś miniony czas.  

 

Masz swojego mentora

Punkt ten jest oczywisty. Nawet bardziej doświadczone osoby (na poziomie Mid czy też Senior) dochodzą do pewnego momentu w karierze, gdzie coraz ciężej zdobywa się nowe umiejętności i wiedzę i potrzeba wówczas kogoś bardziej doświadczonego, kto pokieruje Twoim rozwojem. Największym problemem przy tym punkcie jest jednak fakt, że ciężko znaleźć dobrego mentora. Takiego, z którym będzie się można dogadać na każdej płaszczyźnie rozmów oraz który będzie potrafił skutecznie przekazać wiedzę. Gdy jednak uda się już znaleźć tego właściwego, to wtedy jedyne co musisz robić to uczyć się i realizować kolejne cele stawiane przez mentora. Rozwój wtedy jest wymagający, ale niezwykle skuteczny. 

Co robić?

Rozpocznij poszukiwania mentora już teraz. Zacznij od najbliższego otoczenia, bardziej doświadczonych kolegów z zespołu, czy też zewnętrznych firm, które takie usługi świadczą. Mentoring jest wciąż dość nową i nierozpowszechnioną formą nauki, także miej na uwadze to, że poszukiwania nie muszą przebiec wcale tak łatwo. 

 

Potrafisz wyczuć emocje ludzi

Ostatni punkt, który dotyczy nie tylko branży IT, ale ogólnie komunikacji międzyludzkiej, odnajdywania się w kontaktach z innymi. Związane jest to niejako z inteligencją emocjonalną (EQ), ale jest to umiejętność jak każda inna, której da się nauczyć. Uważam, że jest ona bardzo ważna w osiąganiu szczytów programistycznych, ponieważ chcąc być dobrym liderem, musisz rozumieć oczekiwania i uczucia osób, z którymi współpracujesz i często zarządzasz. Pozwoli Ci to odpowiednio reagować na różne trudności, łatwiej będziesz rozwiązywał konfliktowe sytuacje. 

Co robić?

Zanim podejmiesz decyzję, która może mieć wpływa również na innych członków w firmie, spróbuj przyjąć punkt widzenia osoby, na którą ta decyzja będzie wpływała. Odpowiedz sobie wówczas na pytanie - czy są jakieś zagrożenia związane z negatywnym wpływem decyzji na takie persony? Pamiętaj, że punkt widzenia zależy od punktu siedzenia, postaraj się poznać opinię maksymalnie wielu osób zanim podejmiesz ważną dla zespołu decyzję.  

 

Wnioski

Oczywiście nie ma jednego sprawdzonego sposobu, aby szybko osiągnąć mistrzostwo w swoim fachu i podbijać rynek IT. To kwestia mocno indywidualna, natomiast w naprawdę dużej ilości przypadków, kierowanie się wyżej przedstawionymi zasadami może naprawdę Ci pomóc w osiąganiu sukcesów, realizowaniu swoich celów i wybiciu się wśród innych programistów.

 

Wszystkiego optymalnego! 

Sprawdź również nasz system mentorowania i outsourcowania specjalistów
  • Wyznaczona ścieżka od A do Z w kierunku przebranżowienia
  • Indywidualnie dostosowany materiał pod ucznia
  • Code Review ze strony mentora
  • Budowa portfolio
  • Intensywna praca z materiałami szkoleniowymi