praca programisty

„Programista 15k”, czyli wszystko, co musisz wiedzieć o pracy w IT w Polsce

Kusi Cię praca w branży IT? Czytasz o „programistach 15k” i zastanawiasz się, czy to możliwe? Marzysz o wydaniu własnej gry? A może chciałbyś po prostu rozwinąć nowe hobby, lepiej zrozumieć nowe technologie i poznać Internet od kuchni? Jestem programistą od około dziesięciu lat i dobrze pamiętam wszystkie pytania, które miałem w głowie, kiedy wchodziłem na tę ścieżkę kariery.

Szymon Szymański. Doświadczony backendowiec (PHP, Node.js), który dziś spełnia się jako lider zespołów programistów i chętnie występuje na konferencjach branżowych. Działa według filozofii, że wiedza programistyczna to jedynie fundament do budowania dobrych produktów. Konieczne jest wzbogacenie jej o dobrą komunikację i dokładne zrozumienie potrzeb biznesowych.


Minęło już trochę czasu i teraz transparentność w branży jest zdecydowanie większa, ale wciąż trudno znaleźć proste odpowiedzi dotyczące wielu zagadnień. Z racji mojego stażu nie mam absolutnie nic do stracenia – postanowiłem więc zebrać całe moje doświadczenie i rzucić nieco światła na polską branżę IT.

Opiszę wymagania stawiane przed programistami, ich zarobki, perspektywy na rozwój i korzyści z bycia programistą w zinformatyzowanym świecie. W trakcie lektury przyswoisz sobie też w przystępny sposób żargon panujący w świecie IT oraz poznasz moje rady dla początkujących.

W skrócie: wszystko co potrzebne na początku drogi programisty.

Co daje bycie programistą?

Jak twierdzą mądre, naukowe głowy, programowanie jest aktywnością, która wpływa na nasz umysł i to w sposób bardzo pozytywny. Przez dekady badacze sprawdzali programistów pod wieloma kątami, a najciekawsze wnioski, jakie możemy wysnuć z tych badań to:

  • Programowanie przeciwdziała demencji starczej (źródło) oraz ryzyku zapadnięcia na chorobę Alzheimera (źródło)
  • Poprawia bystrość oraz umiejętność rozwiązywania złożonych problemów — nie tylko programistycznych (źródło).

Co mogę dorzucić do powyższych informacji, opierając się na własnym doświadczeniu? Dzięki programowaniu oraz nauce z nim związanej:

  • Zrozumiesz, jak działa świat internetu oraz urządzeń komputerowych. Nie będziesz na przykład bać się robienia zakupów przez sieć, ponieważ spokojnie ocenisz, czy strona jest “lewa” i chce Cię „zrobić na hajs”. Unikniesz kolejek w sklepach, na poczcie, czy na lotnisku, bo wszystko spokojnie i szybko obsłużysz sam w domu, nie martwiąc się, że przez przypadek zrobisz coś źle.
  • Nie będziesz się załamywać, kiedy coś nieoczekiwanego stanie się z twoim systemem operacyjnym. Np. sam poradzisz sobie z wirusem komputerowym.
  • Sam zaprojektujesz swoją stronę internetową albo zlecisz ją komuś i przy tym nie przepłacisz (bo szybko ocenisz umiejętności wykonawcy, a ewentualne babole poprawisz po partaczu).
  • Wyszukasz sprawnie informacje w internecie. Czy oferta mieszkaniowa jest naprawdę korzystna? Czy to auto nie miało cofniętego licznika kilometrów? Czy garnki oferowane przez telemarketera to nie bubel?
  • Jeżeli masz biznes, to udoskonalisz go, korzystając z narzędzi, których normalnie byś nie zrozumiał lub uznał za ciężkie do opanowania.

Programiści należą do najbardziej pożądanych przez startupy i najczęściej zakładających swoje własne biznesy technologiczne grup zawodowych.

Mógłbym jeszcze pisać i pisać o korzyściach wynikających z pogłębiania wiedzy informatycznej i programistycznej (jak np. poszerzanie słownictwa czy usprawnianie języka obcego). Ale niewątpliwe, skoro czytasz ten artykuł, najbardziej interesuje Cię: ile można na tym zarobić i jakim nakładem pracy?

Ile można na tym zarobić?

Będę z Tobą szczery. Programista może zarobić – w zależności od swojej specjalności, doświadczenia, jak i branży, w której pracuje – od 3 tys. do nawet 25 tys. złotych miesięcznie “na rękę”. A jeszcze większe kwoty uzyskamy, pracując bezpośrednio z zagranicznym pracodawcą czy zleceniodawcą.

Niezaprzeczalnie programiści, szczególnie starsi stażem, potrafią zarabiać więcej niż architekci i lekarze po wieloletnich studiach. Śmiem nawet twierdzić, że wielu dyrektorów firm czy państwowych instytucji nie posiada takiej wypłaty, co Senior Java Developer (określenie „developer” często jest używane zamiennie z „programistą”, choć nie zawsze znaczy to samo – ale o tym nieco później).

Być może zadajesz sobie teraz pytanie: skąd takie olbrzymie kwoty? Już spieszę z wyjaśnieniem.

Programiści są dla firm bardzo cenną siłą roboczą. Świat informatyzuje się na skalę niespotykaną do tej pory i tempo to rośnie. Systemy informatyczne usprawniają pracę, pozwalają dotrzeć do celu szybciej, sprawniej i bardziej efektownie, oferują innowacyjne usługi i rozrywkę, które napędzają gospodarkę.

Niestety (albo stety), kolejni specjaliści od IT trafiają na rynek niewspółmiernie wolniej do tego apetytu rynkowego. Zdarza się więc, że firmy zatrudniają ludzi z minimalnym doświadczeniem w programowaniu i oferują przeszkolenie na miejscu. W niektórych krajach Unii Europejskiej podejmuje się nawet inicjatywy mające na celu zwerbowanie programistów wśród bliskowschodnich imigrantów (źródło).

Jak widać, programistów jest jak na lekarstwo, co tłumaczy hojność wypłat. Nie tłumaczy natomiast tak dużego rozstrzału, jeśli chodzi o wysokość wynagrodzeń, tak szerokich widełek. Skąd się one biorą? Z tego, że jako programista możesz pracować w naprawdę różnych firmach.

Gdzie pracują programiści?

Uwaga! Możesz spokojnie opuścić tę sekcję (oraz następną, zatytułowaną „Czy można pracować na własną rękę?”). Najbardziej początkującym ta wiedza nie będzie niezbędna. Zalecam jednak do niej wrócić, jeżeli będziesz na poważnie zastanawiać się nad swoją pierwszą pracą w IT.

Na polskim rynku, według mnie, programista może znaleźć zatrudnienie w kilku podstawowych rodzajach firm:

  • Firma outsourcingowa
  • Firma produktowa lub korporacyjna
  • Firma typu “start-up”
  • Praca freelancera lub kontraktora

Firma outsourcingowa to, najprościej mówiąc, firma, która pozyskuje klientów i pomaga im wykonać projekty informatyczne – siłami zatrudnianych przez siebie programistów. Taki klient może albo “wydzierżawić” programistów (czasem nawet jednego czy dwóch), albo też zlecić firmie outsourcingowej wykonanie całego projektu (np. gotowej aplikacji mobilnej) od początku do końca. Współpraca między firmą outsourcingową a klientem jest ustalana indywidualnie i zależna od firmy, jak i jej polityki. Firmy tego typu zwykle chcą, aby ich programiści byli opłacani za godzinę pracy.

Jakie stawki taka firma pobiera od swoich klientów? Różnie: od €10/h aż po €50/h (lub nawet więcej) w zależności od profilu i doświadczenia „dzierżawionych” programistów. Spora część tej kwoty trafia do samych programistów, ale firmy outsourcingowe muszą też utrzymać administrację, opłacić sprzęt, biuro… ogólnie całą firmę. Tego typu firmy chłoną nowych pracowników, gdyż im więcej programistów, tym więcej mogą wziąć zleceń, a – co za tym idzie – więcej zarabiają. Bardzo szybko jednak taka firma może “spuchnąć” i jej właściciele będą mieli problem z zarządzaniem. Wadą tego modelu jest więc podatność na nastroje gospodarcze – jeżeli kilku klientów nagle odejdzie, to firma outsourcingowa może wpaść w poważny kryzys.

Firma produktowa lub korporacyjna ma własne fundusze i generuje zysk ze swoich działalności komercyjnych lub inwestycji – najczęściej z tworzenia produktów softwarowych sprzedawanych pod własną marką. Wypłata dla programistów jest uzależniona od budżetu, sytuacji rynkowej i widzimisię kadry zarządzającej. W wielu wypadkach chodzi tu o międzynarodowe korporacje, które mają główne siedziby gdzieś za granicą (np. w USA czy w Wielkiej Brytanii) i otwierają lokalne oddziały w innych krajach, np. w Polsce, aby skorzystać z miejscowych zasobów programistów.

Z reguły takie firmy płacą więcej (od np. firm outsourcingowych), ponieważ mają spory budżet i mogą sobie pozwolić na zwiększanie stawek, aby przyciągnąć najlepszych specjalistów. Firma z Wielkiej Brytanii może zapłacić polskiemu developerowi mniej niż brytyjskiemu programiście u siebie, a po przeliczeniu na złotówki, w polskich realiach i tak będzie to ponadprzeciętnie wysoka suma — wilk syty i owca cała.

Praca w takich instytucjach ma też często istotną wadę. Mowa o konieczności utrzymywania przestarzałych produktów softwarowych (bo nadal generują one zysk), co nie jest dla przeciętnego programisty przyjemnym zadaniem, a na dłuższą metę może wręcz prowadzić do szewskiej pasji. Charakterystyczna dla wielu międzynarodowych korporacji bywa też nadmierna liczba procedur czy zależność od złożonej, wielopoziomowej hierarchii wewnętrznej. Wielu programistom trudno pracować w takich warunkach.

Start-up to firma, która wchodzi z innowacyjnym (przynajmniej zdaniem jej właścicieli) produktem lub usługą na rynek. Szablonowy właściciel start-upu będzie pozyskiwał fundusze od inwestorów – zwykle w zamian za udziały w zyskach. Wypłata dla programistów w start-upach jest rzeczą indywidualną i zależną od rynku, na którym powstaje przedsięwzięcie. W Stanach Zjednoczonych często oferuje się wszystkim pracownikom – obok podstawowej, niezbyt wysokiej wypłaty – procent z zysków. Zdarza się też, że programiści zostają partnerami takich przedsięwzięć i późniejszymi współwłaścicielami. Praca w takiej firmie przypomina więc inwestowanie na giełdzie – podejmujesz pracę w danym start-upie, jeśli wierzysz w jego rynkowy sukces.

Zauważalne i praktycznie zawsze występujące wady, jeśli chodzi o stanowiskach programistów w start-upach to: nadmiar pracy oraz nagłe interwencje decyzyjne inwestorów, które potrafią obrócić projekt do góry nogami lub narzucić pewną wizję, niezgodną z tą, która była prezentowana ci podczas rekrutacji na stanowisko. Najnowsza historia uczy nas też, że niektóre start-upy “nie wychodzą”, a w takiej sytuacji nieprzygotowany programista może zostać na lodzie.

Czy można pracować na własną rękę?

Jak najbardziej – można zostać freelancerem. Freelancerzy to jednoosobowe odpowiedniki firm outsourcingowych – ludzie prowadzący własną działalność gospodarczą, którzy podejmują się zadań zlecanych im przez różne, zewnętrzne firmy. Zarobek programisty freelancera zależy od jego widoczności na rynku i posiadanych kontaktów, znajomości (magiczne słowo „networking”) oraz indywidualnie negocjowanych stawek. Dobrze prosperujący programista “na swoim” może pracować za stawki oferowane przez firmy outsourcingowe, a przy tym nie ponosić wysokich kosztów utrzymania sporej firmy. Dla przykładu freelancer pobierający 35 euro za godzinę pracy, może zarobić w ciągu miesiąca (przyjmijmy 21 dni pracy po 8 godzin) 6 tys. euro netto – ze swojego łóżka czy znajdując się w podróży.

Niestety, naprawdę niewielu specjalistów może żądać takich stawek. Ci mniej doświadczeni, mniej widoczni na rynku, pracują za stawki niższe niż w firmach outsourcingowych, a w sytuacji braku zbyt wielu ofert muszą się czasem zdecydować na zlecenia typu „fixed price” – tj. umawiają się z klientem na konkretną kwotę z góry i nawet jeśli projekt okaże się bardziej złożony (a jest tak bardzo często), to nie dostaną za to ani centa więcej. Sporą wadą tego trybu pracy jest też konieczność pełnej obsługi klienta: windykacja, spisywanie i przygotowanie umów, odpowiedzialność i zarządzanie swoim udziałem w projekcie… to naprawdę trudne zadanie, wymagające umiejętności i wiedzy, których raczej nie uczy się na kierunkach informatycznych.

Dlatego nierzadko freelancerzy stają się kontaktorami, a więc zatrudniają się czasowo u któregoś zleceniodawcy i w praktyce pracują tam na zasadach podobnych do etatu. Zdarza się, że programiści decydują się po pewnym czasie, by zostać w firmie takiego zleceniodawcy (a więc np. w firmie produktowej) na stałe. Ewentualnie kontynuują swoją freelancerską działalność po godzinach, w mniejszym niż dotychczas zakresie, realizując mniejsze, mniej stresujące zlecenia, a na co dzień pracują jako kontraktorzy.

Powyższe opisy to ogólny przegląd najważniejszych możliwości. W tym momencie istotne jest to, abyś wiedział, że praca programisty może się wiązać z różnymi zarobkami, warunkami pracy i możliwościami rozwoju.

Tak czy inaczej, widać wyraźnie, że programiści i software developerzy są w bardzo dobrym położeniu na rynku pracy, mają naprawdę szeroki wybór możliwości. I nie powinno się to zmienić przez najbliższych kilkanaście (a może i kilkadziesiąt) lat.

Czym się różni programista od software developera?

No właśnie – programiści i software developerzy. Obie nazwy zostały przeze mnie wspomniane już kilkukrotnie. Czym różnią się jedni od drugich? Pewnie każdy pracownik branży IT przedstawiłby ci trochę inną odpowiedź na to pytanie. Ja przygotowałem uproszczoną wersję.

Programista bierze “taski” (z ang. task – zadanie) i tylko sobie “kodzi” te rzeczy. Nie interesuje go, po co to, jaki to ma szerszy kontekst w rzeczywistości, komu ma to służyć itp. Po prostu posłusznie wykonuje kolejne taski, pisze kolejne fragmenty kodu, skupia się na technicznie jak najlepszym wykonaniu zadania, ale robi niewiele ponad to. W branży prześmiewczo takich wykonawców zadań nazywa się “code monkeys” (kodujące małpki).

Chociaż software developer nie musi być programistą (temat na inną publikację), to przyjmijmy na teraz, że jest to w gruncie rzeczy programista – tylko taki „rozszerzony”. Przede wszystkim developer rozumie, że dany produkt softwarowy ma komuś służyć i przynosić realne korzyści z jego posiadania. Aby osiągnąć cel, programista musi się stale kontaktować z klientem, z menadżerem swojego projektu oraz z innymi członkami zespołu projektowego. Nierzadko wykorzystuje przy tym język obcy. Musi sygnalizować wszelkie problemy, dopytywać, drążyć temat, często nawet przekonywać klienta, że niektóre jego pomysły są nietrafione. Musi też dbać o relacje w zespole. Można powiedzieć, że dobry software developer ciągnie cały projekt do przodu, zależy mu na sukcesie aplikacji, którą tworzy.

Warto mieć na uwadze, że sami developerzy często mówią o sobie potocznie “programista”, aby nie tłumaczyć powyższej różnicy otoczeniu.

Podsumowując, można stwierdzić, że zarówno programiści, jak i developerzy muszą mieć dobrze rozwinięte tzw. umiejętności twarde – czyli techniczne, związane bezpośrednio z pisaniem kodu, myśleniem algorytmami, z konkretnymi językami programowania i narzędziami. Jeżeli jesteś poza obiegiem IT, jest duże prawdopodobieństwo, że myślisz o programowaniu, jak o czarnej magii, która wymaga znajomości wyższej matematyki. Prawda jest taka, że wcale tej matematyki tak wiele nie ma i najczęściej wymagania nie przekraczają zdolności ucznia szkoły podstawowej. Owszem, są specjalności, w których niezbędna jest znajomość całek i pochodnych, ale tęgą przesadą byłoby powiedzieć, że zaawansowana znajomość matmy jest niezbędna do tworzenia większości aplikacji.

Konieczna natomiast będzie znajomość jakiegoś popularnego języka programowania. Jakie to języki? Zapraszam tutaj. Aktualnie „lingua franca” świata IT to JavaScript (nie myl z językiem Java – inaczej narazisz się na srogie żarty ze strony innych programistów). Dużą zaletą JavaScript jest przystępność oraz mnogość zastosowań. Rozumiejąc jego składnię, napiszesz program desktopowy (czyli taki, który instalujesz bezpośrednio na komputerze), aplikację webową (czyli taką, która wyświetlisz w przeglądarce internetowej) czy aplikację mobilną (do odpalenia na smartfonie) oraz wiele, wiele innych rzeczy.

Tyle jeśli chodzi o twarde, techniczne umiejętności i wiedzę. Bo to, co odróżnia software developerów od programistów, to – jak już zauważyliśmy – dobrze rozwinięte umiejętności miękkie. Czyli, w skrócie, zdolność komunikacji, stawiania granic, negocjacji, motywacji i zaangażowania.

Dlaczego warto ćwiczyć tzw. umiejętności miękkie?

Programiści (czy też developerzy) z dobrze rozwiniętymi umiejętnościami miękkimi zwyczajnie zarabiają więcej. Dzięki skutecznemu komunikowaniu się z innymi członkami zespołu, będziesz robił mniej niepotrzebnej nikomu roboty, bo wszystkie szczegóły dogadasz ze współpracownikami. Umiejętnie zwracając uwagę na możliwe problemy zabezpieczysz się przed ewentualnymi konfliktami w przyszłości (co w żargonie nazywamy „dupochronem”), a potrafiąc mówić „nie” być może unikniesz nieciekawych czy skazanych na klęskę projektów.

Nauczysz się, jak zażegnać większość konfliktów i kryzysów w projekcie, zachowując odpowiedni ton i metodyczność postępowania, a to pozwoli zadbać też o własne zdrowie psychiczne.

Co więcej, nawiązując profesjonalny kontakt z klientem, pozostawiasz na nim równie profesjonalne odczucie twojej pracy (nawet jeśli sam kod nie będzie wybitny). Opinia klienta czy odbiorcy Twojego dzieła ma znaczenie, bo trafi w końcu do twojego szefa lub twoje usługi zostaną polecone przez klienta komuś z jego znajomych (pamiętaj, networking jest istotny).

Umiejętność argumentacji i dochodzenia swoich racji sprawią też, mówiąc mniej elegancko, że „sprzedasz się” komu trzeba – i nie ma w tym niczego złego. Prawda jest taka, że specjaliści od rekrutacji w IT, mając do wyboru niekomunikatywnego programistę, który pisze świetny kod oraz kandydata ze średnimi umiejętnościami technicznymi, ale za to bardzo atrakcyjnymi umiejętnościami miękkimi, wybiorą tego drugiego.

A to dlatego, że w wielu wypadkach podniesienie umiejętności miękkich jest trudniejsze i bardziej czasochłonne (a u niektórych ludzi prawie niemożliwe). Dlatego warto zainwestować w ich rozwój już na samym początku.

Jak wygląda przeciętny dzień pracy programisty?

Czytając moje wywody o umiejętnościach miękkich, możesz zacząć zastanawiać się, ile tak naprawdę jest kodowania w kodowaniu. Jeżeli ktoś spytałby mnie, ile procent czasu pracy przeciętnego developera (który skupia się wyłącznie na pracy, a nie na trwonieniu czasu) jest przeznaczane na poszczególne jego zajęcia, to z dość dużą pewnością odpowiedziałbym jak w tabelce poniżej:

Czynność

Procentowy udział

Spotkania (prezentacje, ustalenia, dopytywanie o szczegóły itp.)

10%–20%

Utrzymanie infrastruktury aplikacyjnej (zarządzanie serwerami oraz procesami projektowymi)

10%–50%

Czytanie kodu i jego rozumienie

30%–60%

Szukanie rozwiązania (w internecie, wśród współpracowników) i podejmowanie decyzji

20%–30%

Pisanie kodu

<15%

 

A w wielkim uproszczeniu:

Czynność

Procentowy udział

Czynności nie będące pisaniem kodu

85%–90%

Rzeczywiste pisanie kodu

10%–15%

 

Developer spędza nie więcej niż 15% swojego czasu na rzeczywistym pisaniu kodu?! To jakiś żart?

Nie. Taka jest rzeczywista proporcja czynności, jakie wykonuje programista (czy developer) w swojej codziennej pracy. Opieram się tu na obserwacjach poczynionych w ciągu dziesięcioletniej kariery developera – tak wyglądało to u mnie, tak wyglądało to u większości moich znajomych. Życie programisty to nie samo „wystukiwanie programów”.

Większość czasu poświęcamy analizie problemów i szukaniu najbardziej optymalnych ich rozwiązań.

Dlatego też bez satysfakcji z rozwiązywania problemów, nie da się w tym zawodzie być szczęśliwym. Młodzi adepci IT wyobrażają sobie, że praca programisty polega na uruchomieniu edytora i trzaskaniu kodu od dziewiątej rano do piątej po południu. Tymczasem owo trzaskanie kodu jest jedynie rezultatem całego szeregu innych czynności. Jeśli je zbagatelizujesz, odbije się to na samym kodowaniu (np. dlatego, że źle zrozumiesz wymagania klienta). I skończy sporym rozgoryczeniem.

Jakie są potencjalne minusy bycia programistą?

Jeśli połączymy dwa fakty – konieczność opanowania umiejętności technicznych oraz ćwiczenia umiejętności miękkich – możesz dojść do wniosku, że to masa nauki, ogrom roboty. I taka jest bolesna prawda. A zarazem jedna z częstszych przyczyn wypalenia zawodowego wielu starszych programistów. Może zrozumiesz teraz, dlaczego twoi przyjaciele z branży IT wywracają oczami, gdy górnik czy pracownik linii montażowej rzuca legendarne “ty to się nie narobisz”, albo sugeruje “zjedź na tysiąc trzysta, to przekonasz się, co to prawdziwa robota”.

Wbrew tego typu opiniom, bycie programistą jest ciężką pracą, podobną pod tym względem do innych zawodów. Wielogodzinna praca przed komputerem i konieczność ciągłego „kminienia” szczególnie wyczerpuje ludzi z ich zasobów kognitywnych (czyli wigoru umysłowego). Zostawia też piętno na organizmie człowieka – wielu cierpi na chroniczne bóle pleców, sztywnienie mięśni i stawów czy problemy z krążeniem. Problem jest tak znaczący, że nawet powstał dział literatury medycznej skierowanej bezpośrednio do tej klasy zawodowej (przykład takiej książki tutaj).

Wiem, o czym mówię, bo sam wyjątkowo zaniedbałem swoje zdrowie w pogoni za wiedzą i rozwojem zawodowym. Mam około trzydziestu lat, a z fizjoterapeutą jestem po imieniu.

Wspominałem też wcześniej, że będąc programistą musisz czerpać przyjemność z rozwiązywania problemów. To główne źródło satysfakcji w tej pracy (poza oczywistościami w postaci zarobków). Niewiele jest na tym świecie rzeczy tak szczerych, jak uśmiech i ekscytacja developera, który właśnie rozwiązał poważny problem, poradził sobie z wyjątkowo upierdliwym bugiem (błędem). Dlaczego akurat to? Czy nie cieszy go najbardziej samo wystukiwanie programów, pisanie nowego kodu?

Dlatego, że pisanie programów od zera, możliwość twórczego rozplanowania aplikacji zanim jeszcze powstanie, to w gruncie rzeczy sytuacja dość rzadka. Smutna rzeczywistość jest taka, że z większym prawdopodobieństwem trafisz do projektu typu „legacy”, a więc będziesz pracować nad poprawianiem istniejącego kodu, rozszerzaniem gotowego programu. To trzeci – obok wyczerpywania zasobów kognitywnych i problemów zdrowotnych – z głównych problemów pracy programisty. Obecnie przeważająca większość etatów oznacza pracę właśnie w takim środowisku.

Oliwy do ognia nierzadko dolewa sam zleceniodawca. Nieokrzesany klient potrafi równie dobrze napsuć krwi ciągłymi zmianami, bezsensownymi decyzjami lub po prostu swoją osobą i stosunkiem do ekipy wykonującej zlecenie. Odpowiednio rozwinięte umiejętności miękkie pozwalają radzić sobie z takimi sytuacjami, ale nie spowodują, że przestaną one występować.

Praca programisty potrafi być i opłacalna, i satysfakcjonująca. Nie jest jednak, jak widać, pozbawiona trudności – które warto mieć na uwadze od samego początku kariery.

Jak brzmi najważniejsza rada dla młodych programistów?

Teraz wiesz już na co może liczyć programista w Polsce, gdzie może pracować, ile może zarabiać, jakie umiejętności powinien szlifować i czego wystrzegać się w pracy.

Bez względu na to, czy dopiero myślisz o rozpoczęciu kariery programisty, czy już znajdujesz się na początku ścieżki (np. będąc na studiach informatycznych), mam dla Ciebie jeszcze jedną, kluczową radę:

Nie ucz się sam.

Mówiąc językiem Mistrza Yody: programisty droga bardzo długa i wyboista jest. Owszem, możesz do wszystkiego dochodzić sam – tak jak początkowo robiłem to ja – ale wtedy droga będzie jeszcze trudniejsza. Dostępnych materiałów jest cała mnogość: książki, przewodniki, interaktywne szkolenia (często darmowe) czy artykuły takie jak ten. Łatwo jednak się w tym wszystkim pogubić i wybrać nieodpowiednią ścieżkę lub całkiem zboczyć ze szlaku.

Korzystaj więc z rady bardziej doświadczonych developerów. Nie wszyscy będą chętni pomóc i nie wszyscy będą potrafili przekazywać wiedzę. Sam na początku swojej kariery trafiłem na kolegę z zespołu, która okazał się – co tu dużo mówić – przepotężnym burakiem i na dłuższy czas zraził mnie do szukania pomocy u innych. Prawda jest jednak taka, że branża IT pełna jest przyjaznych, chętnie dzielących się wiedzą ludzi.

Odpowiedni mentor pozwoli Ci szybciej odkryć tę właściwą ścieżkę.

 

Szukaj doświadczonych wyjadaczy, którzy będą chcieli ci pomóc (a nie tylko pochwalić się wiedzą). Uczestnicz w lokalnych inicjatywach programistów, chodź na organizowane przez nich meetupy. Nie wstydź się zadawać pytań. Inwestuj swój czas w poszukiwanie mentora. Im bliżej początku ścieżki programisty jesteś, tym bardziej jest to istotne.

A kiedy sam będziesz już doświadczonym programistą, dziel się swoim doświadczeniem z innymi.

Powodzenia!

PS. Jesteś młodym programistą i szukasz firmy, w której mógłbyś się wiele nauczyć? A może pracujesz jako software developer już od wielu lat i lubisz przekazywać wiedzę? Odwiedź stronę gliwickiego The Software House – przepracowałem tam kilka dobrych lat jako developer, a potem szef działu PHP i wiem, że mają świetny program mentoringowy.

Zdjęcia ilustrujące artykuł pochodzą z pexels.com

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Data Analytics, Data Science, Machine Learning – co wybrać?