5 grzechów dobrze zapowiadających się programistów.

Jak to się dzieje, że młody, dobrze zapowiadający się programista, który ma dobrą wiedzę techniczną i dużą siłę przebicia, nie może często wspiąć się na kolejny level kariery IT? Okazuje się, że nierzadko obok czynników zewnętrznych (przypadków losowych, trudności niezależnych od developera), również on sam staje na przeszkodzie swojej karierze. Młodzi programiści mają tendencję do popełniania grzechów zawodowych, które skutecznie uniemożliwiają przejście z niepewnego stanu „dobrze zapowiadającego się developera” do ugruntowanej pozycji „specjalisty w danej dziedzinie”.
 

Tak, jak w branży muzycznej można być gwiazdą rocka, wielbioną przez tłumy fanów lub być dobrym rzemieślnikiem i grać „do kotleta”, tak w branży IT można być świetnym programistą o ugruntowanej marce lub skulonym przy biurku koderem, któremu dokładają nieustannie kolejne nudne, niewymagające wyzwań zadania do wykonania.

Według szacunków Evans Data Corporation, na świecie jest obecnie ponad 5,5 mln zawodowych programistów, którzy nie ukończyli jeszcze 30. roku życia. Oczywiście trudno określić, ilu z nich dobrze się zapowiada, ale pewne jest jedno: nie wszyscy znajdą się na programistycznym szczycie. Wielu polegnie na swojej koderskiej ścieżce, ich kariera zawodowa stanie w miejscu, a w rezultacie będzie im trudno znaleźć zatrudnienie u wymarzonego pracodawcy, chociaż ze znalezieniem pracy w jakiejkolwiek firmie IT nie będą mieli raczej problemu. Jednak jakikolwiek pracodawca to nie ten oczekiwany. Poniżej zebraliśmy 5 grzechów, które często przyczyniają się do zastopowania dobrze rozwijającej się kariery developera.
 

1. Brak rozwoju zawodowego

Nic tak skutecznie nie niszczy kariery zawodowej programisty, jak brak rozwoju zawodowego. Wiemy, napisano już bardzo wiele truizmów, głupot, poradników i pseudoporadników na temat dużego znaczenia nieustannego samokształcenia się developerów, ale mimo wszystko, jest w nich ziarno prawdy: inwestowanie we własny rozwój zawodowy i poszerzanie wiedzy jest bardzo ważne dla programisty. IT to branża, która zmienia się w błyskawicznym tempie. Kto nie trzyma tu ręki na pulsie, zostaje w tyle coraz bardziej, aż w końcu znika z oczu programistycznego peletonu. Nieustannie przecież pojawiają się nowe rozwiązania, frameworki, narzędzia, które często po prostu trzeba znać, aby z dobrze zapowiadającego się programisty stać się rzeczywiście dobrym koderem. Wielu programistów ma tego świadomość.

Developerzy, których przepytał portal Stack Overflow w swojej ankiecie, przyznawali, że w zdecydowanej większości (90%) poszerzają wiedzę zawodową samodzielnie, korzystając najczęściej z oficjalnej dokumentacji (82,2%), z informacji znalezionych na Stack Overflow (80%) i z książek (56,3%). Z badania wynika również, że bardzo popularnym sposobem na zdobywanie wiedzy jest udział w kursach stacjonarnych i online (na Bulldogjob znajdziecie je w zakładce Szkolenia). Aby rzeczywiście efektywnie poszerzać swoje wiadomości techniczne, warto nie tylko śledzić nowości, ale również zdefiniować luki w aktualnej wiedzy. Na pewno takie się znajdą, ponieważ nie ma człowieka, który wiedziałby wszystko. Dopiero połączenie poznawania tego, co nowe na rynku i tego, czego dotychczas brakowało w naszej wiedzy, można uznać za kompleksowy sposób edukacji.
 

2. Niskie kompetencje miękkie

Poszerzanie umiejętności technicznych jest bardzo ważne, ale nie można na tym poprzestać. Niestety, wielu programistów wychodzi z założenia, że najważniejszy jest rozwój techniczny i niczego więcej nie potrzebują. Z takim podejściem nigdy nie przejdzie się na kolejny szczebel kariery z etapu dobrze zapowiadającego się developera. Obecnie coraz więcej pracodawców IT zwraca uwagę na umiejętności miękkie programistów. O ich dużym znaczeniu pisaliśmy już niejednokrotnie w naszym portalu (na przykład w artykule „8 umiejętności miękkich przydatnych programistom”). Takie umiejętności przydają się bez względu na to, czy developer planuje w przyszłości uzyskanie awansu pionowego na stanowisko menedżerskie, czy też zależy mu na awansie poziomym. Z badania ISACA wynika, że niezwykle ważne dla osiągnięcia sukcesu zawodowego jest połączenie umiejętności technicznych i kompetencji miękkich. W tym ostatnim przypadku chodzi przede wszystkim o komunikatywność, umiejętność jasnego precyzowania myśli, o współpracę zespołową i dzielenie się wiedzą. Amerykańscy specjaliści od doradztwa zawodowego zachęcają, aby pracodawcy zwracali również uwagę na takie umiejętności, jak optymistyczna postawa, zdolność efektywnego zarządzania czasem, rozwiązywanie problemów, praca pod presją czy wiara we własne siły. Praca w IT to coraz częściej praca zespołowa, dlatego coraz bardziej doceniane są osoby, które nie tylko mają wiedzę techniczną, ale także staną się ważną częścią teamu i będą w nim sprawnie działały.

3. Brak sprecyzowanego celu

Seneka napisał, że jeśli się nie wie, do jakiego portu płynąć, nie należy liczyć, że wiatry będą sprzyjać. Podobnie bywa z karierą programisty. Nawet najlepiej zapowiadający się developer nie rozwinie odpowiednio swojej kariery zawodowej, jeśli nie będzie wiedział, w jakim kierunku chce podążyć. Jednym z najcięższych grzechów ambitnego programisty jest właśnie brak sprecyzowanego celu. Nie wystarczy tylko pragnienie, że chce się być najlepszym, chce się dokonać czegoś wielkiego w IT. To tylko mgliste życzenia, a nie plany. Programista musi wiedzieć, na jakim etapie swojej kariery chce być za rok, za 3 lata, za 10 lat itd. Najlepiej ustalić cele w systemie SMART. Powinny być one:
 

  • Specific (Konkretne) – trzeba wyznaczyć jasno sprecyzowany cel/cele;

  • Measurable (Mierzalne) – ustalić, w jaki sposób zostanie potwierdzone, że cel został osiągnięty;

  • Achievable (Osiągalne) – trzeba wyznaczyć taki cel, który rzeczywiście można osiągnąć, chociaż może on być również bardzo ambitny;

  • Relevant (Istotne) – cel musi być ważny dla kariery, musi pchnąć ją do przodu, pomóc osiągnąć kolejny jej etap;

  • Timely (Określone w czasie) – trzeba dokładnie określić, kiedy chce się osiągnąć wyznaczony cel, to musi być konkretny termin.


Cele mogą być bardzo różne, na przykład zdobycie określonej wiedzy, ukończenie wybranego szkolenia, zdobycie awansu lub podwyżki, ukończenie jakiegoś projektu itp. Najlepiej zapisać cel i termin jego realizacji. To dodatkowo zmobilizuje do działania.
 

4. Brak skromności

Poczucie własnej wartości jest bardzo ważne, ale nie może przekształcić się zarozumialstwo. Dzień, w którym rodzi się przekonanie, że jest się niezastąpionym, może być początkiem końca dobrze zapowiadającej się kariery w IT. Niestety, to pułapka, w jaką wpadają najczęściej pracownicy z kilkuletnim stażem. IT to rynek kandydata, dlatego wielu developerów nie chce wierzyć, że jednak ktoś może ich zastąpić. Trudno taki brak skromności uznawać za pozytywną cechę. Taką tendencję do nadmiernego przeceniania własnego znaczenia psychiatrzy często diagnozują jako osobowość paranoiczną. Oczywiście to skrajne przypadki. Nie zawsze brak skromności i zarozumialstwo są oznaką choroby. Najczęściej to zjawisko, jakie psychologia społeczna określa terminem „złudzenie ponadprzeciętności”. Takie złudzenie może nieść za sobą dwojaką konsekwencję. Z jednej strony z zarozumiałym programistą nikt nie chce współpracować (o dużym znaczeniu pracy w zespole już wspominaliśmy w tym artykule), a z drugiej – złudzenie może wpływać negatywnie na poziom wiedzy. Bardzo ciekawe badania w tym kierunku przeprowadzi dr Samuel R. Pavel z Southern Illinois University. Naukowiec poddał testom studentów, wcześniej prosząc ich, aby ocenili swoje umiejętności. Okazało się, że najniższe wyniki uzyskały te osoby, które przeceniały swoją wiedzę, a najlepiej egzamin poszedł uczestnikom badania, którzy nie doceniali swoich umiejętności. Test dotyczył co prawda wiedzy lotniczej, ale tak naprawdę można te wyniki odnieść do każdej branży, również do IT. Dobrze rokujący programista, który wpadnie w pułapkę braku skromności, często również będzie przeceniał swoją wiedzę, będzie przekonany, że bez niego firma się zawali. To prowadzi do osiadania na laurach i do wysuwania żądań specjalnego traktowania. Często kariera takiego developera kończy się, zastąpieniem go przez innego dobrze rokującego kodera, młodszego i otwartego na opinie współpracowników.

5. Brak work-life balance

Work-life balance to modny ostatnio termin, ale tak naprawdę można zastąpić go określeniem „unikanie przepracowania”, „zachowanie równowagi pomiędzy pracą a życiem prywatnym” itp. W każdym przypadku chodzi o to samo: równowaga psychiczna, wypoczynek, znalezienie kompromisu pomiędzy pracą a czasem wolnym. Niejeden dobrze zapowiadający się programista ma z tym kłopot. To z reguły bardzo ambitne osoby, które chcą, aby ich kariera rozwijała się błyskawicznie, a odpoczynek postrzegają jako marnowanie czasu. Taka postawa może jednak zniszczyć karierę, a nie ją rozwinąć. Prędzej czy później dojdzie bowiem do wypalenia programisty. Okazuje się, że to coraz poważniejszy problem w IT. Wypalenie i wyczerpanie to, obok cynizmu i poczucia nieefektywności, główne trudności w pracy, jak okazało się po badaniach The Psychology Department of the University of Berkley. Trudno rozwijać błyskotliwie swoją karierę, gdy człowieka dopada zrezygnowanie, zmęczenie i poczucie bezradności. Na szczęście można tego uniknąć, przestrzegając work-life balance. Jak wynika z raportu „Work-life balance. Niewykorzystany potencjał” to właśnie branża IT najczęściej dba o zapewnienie pracownikom równowagi pomiędzy pracą i życiem prywatnym. Mało tego, coraz częściej hasła o work-life balance pojawiają się w ogłoszeniach rekrutacyjnych, przeważnie na takie stanowiska, jak Software Developer, Java Developer, Web Application Developer czy tester. To oczywiście bardzo dobra postawa pracodawców, ale dbanie o równowagę pomiędzy pracą a odpoczywaniem musi najpierw pojawić się u samych programistów. Takie osoby muszą nauczyć się wyznaczać priorytety, oddzielać pracę od życia osobistego, muszą odpoczywać, pamiętać o aktywności fizycznej i planować rozsądnie swoje zadania. To na pewno pomoże w rozwoju kariery, a nie ją zastopuje.
 

Dobrze zapowiadający się programista, to osoba, która dopiero stoi na progu wielkiego świata programowania, jest w przełomowym momencie swojej kariery zawodowej. Albo wykorzysta szansę i wedrze się przebojem do środka, albo zostanie w tym wejściu na długo, a z czasem zostanie wypchnięta przez innych, bardziej przebojowych i rozsądnych dobrze zapowiadających się developerów, którzy nauczyli się unikać takich grzechów, jak opisane wyżej.