Praca w IT

Programista jest jak sportowiec. Jego codziennością jest podnoszenie sobie poprzeczki

rowerzysta podczas jazdy na ulicy

Lubię porównywać karierę programisty do kariery sportowca. Dlaczego? W obu przypadkach kluczowa jest pasja. Bez niej trudno o wytrwałość i zaangażowanie, które są niezbędne do osiągnięcia sukcesu. Zarówno programista, jak i sportowiec muszą być również zdeterminowani, aby pokonywać przeszkody i stale się rozwijać.

Praca programisty to zdecydowanie więcej niż 8 godzin dziennie spędzone przed ekranem komputera.

Brzmi niezbyt zachęcająco?

Prawda jest jednak taka, że aby osiągnąć sukces, trzeba po prostu regularnie trenować, uczyć się nowych rzeczy i doskonalić swoje umiejętności. Bycie programistą to nie tylko praca, ale zobowiązanie i deklaracja do nieustannej nauki i rozwoju osobistego.

Ok, a co z “work-life balance”?

Przyznam się szczerze, że nie jestem fanem tego hasła. Uważam natomiast, że zamiast dążyć do utrzymania sztucznej granicy między pracą a życiem prywatnym, powinniśmy skupić się na świadomym podejmowaniu wyborów.

Podsumowując, bycie programistą to nie tylko praca. To styl życia, który łączy w sobie pasję, wyzwania, satysfakcję i… wpływ na świat.

Jak więc odnaleźć się w tym wszystkim i nie zwariować? 

Pozostań w grze jako programista

Wszystko zaczyna się od wyboru organizacji, w której będziesz mieć okazję realizować ciekawe, pełne wyzwań projekty. To właśnie tam zdobędziesz cenne doświadczenie i rozwiniesz umiejętności. 

Spędzając 160 godzin miesięcznie w danym środowisku, nie sposób nie ulec jego wpływowi. Dobrze, jeśli wpływ ten jest pozytywny. Praca w otoczeniu doświadczonych programistów, którzy chętnie dzielą się wiedzą, może znacząco przyspieszyć Twój rozwój.

Wychodzenie poza dobrze znane obowiązki i angażowanie się w dodatkowe zadania jest niezwykle istotne z punktu widzenia rozwoju, ale też zapobiegania wypaleniu zawodowemu. W XTB zajmuję się tematami CI/CD, co jest doskonałym sposobem na poszerzenie wiedzy o automatyzację procesu wdrażania oprogramowania. Ponadto prowadzę gildie frontendową, co jest świetną okazją do rozwoju umiejętności miękkich.

Wierzę, że ciągłe kształcenie to klucz do sukcesu IT, dlatego poza pracą ważne jest śledzenie na bieżąco nowości ze świata web developmentu, np. czytając blogi techniczne lub obserwując profile wybranych osób i firm w social media.

Oczywiście w dzisiejszych czasach znalezienie wiarygodnego źródła wiedzy stanowi nie lada wyzwanie. Z jednej strony mamy ogromny dostęp do informacji, z drugiej strony coraz trudniej oddzielić wartościowe materiały od niskiej jakości treści.

Dlatego zbudowanie listy zaufanych źródeł wiedzy może być niezwykle pomocne. 

Warto również wypracować sobie efektywny sposób przyswajania wiedzy – w końcu uczenie się nie sprowadza się do binarnego wyboru między „brudzeniem sobie rąk” a biernym czytaniem. Ważne jest, aby znaleźć taki styl uczenia się, który najlepiej odpowiada naszym potrzebom i preferencjom.

Jeśli szanujesz swój czas i energię, to skupianie się na czytaniu ze zrozumieniem jest jak najbardziej słuszną strategią. Tylko i aż tyle.

Warto też wspomnieć o warsztatach i kursach online. Niestety aktualnie wybór wartościowych warsztatów i kursów online może być wyzwaniem. Rynek edukacyjny jest przesycony ofertami, a nie każdy tytuł czy nazwisko gwarantuje wysoką jakość. Podobnie wygląda sytuacja z konferencjami branżowymi. Warto tutaj postawić na najpewniejszych graczy, czyli np. konferencję NG-CONF, w której będę miał okazję wziąć udział dzięki wsparciu XTB.

Pułapka prostego projektu

Pułapka prostego projektu, to sytuacja, w której celowo wybieramy mało ambitny projekt, z niskimi wymaganiami, który mimo wszystko zapewni nam komfortowe wynagrodzenie. I taka droga jest niezwykle kusząca. Niskie wymagania i wysokie zarobki to wizja, której wielu programistów ulega. Pozwala ona na pracę w wielu projektach i osiągnięcie wysokiego poziomu życia. Dla miłośników motoryzacji, droga do wymarzonego V8 w garażu staje się wtedy niezwykle krótka.

Krótkoterminowe korzyści płynące z prostych projektów mogą być kuszące, ale długoterminowe straty są zdecydowanie większe. Inwestycja w rozwój i ambitne wyzwania to klucz do satysfakcjonującej i stabilnej kariery. Ambitne projekty i motywujący zespół to najlepsze środowisko do rozwoju i poszerzania wiedzy.

Spójrzmy chociażby na  Davida Beckhama. Piłkarz ten, choć skuszony łatwym kontraktem w LA Galaxy, szybko zrozumiał, że stagnacja w amatorskiej lidze zniweczy jego szanse na grę w reprezentacji. Powrót do ambitnego AC Milan pozwolił mu utrzymać formę na najwyższym poziomie. Bądźmy jak Beckham 😉 

Rozwojowe środowisko pracy – sprawdzone metody oceny 

Czy można sprawdzić projekt i pracodawcę pod kątem rozwoju zanim powiemy ofercie “tak”? 

Oczywiście!

W ostatnich latach stworzyłem metodę, która pozwala mi na znalezienie satysfakcjonujących projektów, które sprzyjają mojemu rozwojowi.

Jak ona wygląda? 

Zaczynając każdy kwartał, stawiam sobie sześć konkretnych celów: 

  • dwa cele osobiste, niezwiązane z organizacją – nauka nowej technologii lub narzędzia, którego nie używamy w firmie (np. poznanie frameworka Tailwind),
  • dwa cele osobiste, ale związane z organizacja – nauka nowej technologii lub narzędzia, którego używamy w firmie (np. poznanie GitLab CI/CD),
  • dwa cele projektowe – wdrażanie nowych rozwiązań w ramach projektu (np. Lighthouse w procesie CI).

Wyznaczone cele monitoruję regularnie – co dwa tygodnie sprawdzam, czy jestem na dobrej drodze do ich osiągnięcia. Oprócz wyznaczania celów, kieruję się również trzema listami wartości, które definiują moje idealne miejsce pracy. Podzieliłem je na kategorie:

  • wartości techniczne (np. obecność procesu CI/CD, preferowanie kompozycji nad dziedziczeniem),
  • wartości związane z zarządzaniem projektem (np. regularne przeprowadzanie retrospektywy, zorientowanie na cele i rezultaty),
  • wartości związane z zespołem (np. podejście do dzielenia się wiedzą, konstruktywny feedback i kultura code review).

Podczas rozmowy kwalifikacyjnej staram się dowiedzieć jak najwięcej o wartościach danej organizacji, by sprawdzić, czy są zgodne z moimi trzema listami wartości. 

Dodatkowo, dołączając do nowego projektu, staram się ocenić obecny stan rzeczy w kontekście moich trzech list wartości. Analizuję każdą kategorię i szukam przestrzeni do dyskusji na temat potencjalnych ulepszeń. Na bieżąco monitoruję, jak obecny stan projektu wpisuje się w moje listy wartości. Gdy „sygnałów ostrzegawczych” pojawia się zbyt wiele, rozważam dalsze kroki, w tym poszukiwanie nowych możliwości na job boardzie Just Join IT.

Sztuczna Inteligencja (AI) a rozwój w branży IT

Moje doświadczenia z AI doskonale oddają typową „krzywą zmiany”. Na początku entuzjazm mieszał się z obawami. Nie pomagał fakt, że w mediach społecznościowych o sztucznej inteligencji bardzo często wypowiadają się osoby nieposiadające zbytniej wiedzy w tym temacie. Trudno więc zachwycić się czymś, co według takich „influencerów” odbierze pracę programistom. W końcu z czego miałbym wtedy tankować swoją „paliwożerną bestię”?

Początkowy sceptycyzm ustąpił miejsca fascynacji. Obecnie przeżywam „miesiąc miodowy” z narzędziami wykorzystującymi sztuczną inteligencję. Dostrzegam w nich ogromny potencjał i paradoksalnie coraz mniej obawiam się o to, że AI może mnie zastąpić.

Kluczem do efektywnego wykorzystania narzędzi AI, takich jak ChatGPT czy GitHub Copilot, jest odpowiednie nastawienie i realne oczekiwania. Należy zrozumieć podstawowe mechanizmy działania AI i nauczyć się prompt engineeringu.

AI staje się coraz potężniejszym narzędziem w rękach programistów. Należy jednak pamiętać o jego ograniczeniach i mądrze wykorzystywać jego możliwości. W połączeniu z ludzką rozwagą i umiejętnościami, AI może znacząco usprawnić pracę programisty i otworzyć nowe możliwości rozwoju.

AI nie zastąpi programistów, ale ci, którzy nie poznają tej technologii, mogą zostać zastąpieni. Programiści, którzy wykorzystają AI, będą mieli ogromną przewagę nad tymi, którzy pozostaną w tyle.

Nawyki kluczem do sukcesu

Lubię porównywać karierę programisty do kariery sportowca. Owszem, w różnych dyscyplinach znajdziemy przykłady mistrzów, którzy lekko podchodzili do życia, jak James Hunt z F1 czy skoczek narciarski Matti Nykanen. Ale w większości przypadków profesjonalizm prowadzi do sukcesów.

Zabrzmię teraz jak guru fitnessu, ale dieta i ruch to podstawa! 

To co jemy niesamowicie wpływa na nasze samopoczucie, koncentrację i wydajność.  Polecam również wpleść do swojego życia codzienną aktywność fizyczną. Sam każdy dzień zaczynam od treningu na rowerze. To świetny sposób na dotlenienie organizmu, pobudzenie się rano i zyskanie kopa endorfin na cały dzień. Niezależnie od preferowanej dyscypliny, regularna aktywność fizyczna to must-have dla każdego programisty. Zwłaszcza, że większość naszych dni spędzamy po prostu przed ekranem 😉 

Zaprzyjaźnij się również z timeboxem! Wyznacz sobie czas na daną aktywność i w tym czasie nie daj się rozproszyć. Telefon wycisz i schowaj, a w tle puść muzykę, która sprzyja koncentracji. Skup się na jednej rzeczy i zrób ją najlepiej jak potrafisz. 

Pamiętaj słowa Michaela Jordana: „Wystarczy być tu i teraz”. 

Trenuj skupienie!

Podsumowanie 

Kariera programisty to nie droga usłana różami. To istny rollercoaster. Wzloty są bardzo wysokie, ale upadki bywają bolesne. Ważne aby wytrwale dążyć do celu i czerpać radość z każdego dnia. Jak mówi legenda Chicago Bulls: “Nigdy się nie poddawaj, bo jeśli zrobisz to raz, stanie się to nawykiem”. 

Zdjęcie główne artykułu pochodzi z envato.com.

Senior Software Engineer w XTB

Na co dzień pracując w XTB dokłada swoja cegielke do stworzenia najlepszego fintechu na rynku. Entuzjasta Angulara i programowania reaktywnego, stale poszukujący wyzwań w pracy i poza nią. Autor bloga JavaScript everyday (https://medium.com/javascript-everyday), gdzie dzieli się swoją wiedzą i doświadczeniem. Miłośnik motoryzacji, w którego żyłach paliwo miesza się z kawą i czekoladą.

Podobne artykuły