Czy programowanie jest dla Ciebie?

wpis w: Dookoła Pracy | 0

Branża IT kusi wieloma zaletami – mnogością dostępnych ścieżek rozwoju, elastycznym trybem wykonywania zadań, obfitością ofert pracy w różnych typach firm czy też atrakcyjnymi wynagrodzeniami. Jednak wejście do branży wymaga posiadania mniej lub bardziej zaawansowanych umiejętności, spośród których budzącą zwykle najwięcej emocji jest programowanie. Tworzenie kodu w obiegowej opinii jest trudną, a wręcz elitarną umiejętnością, którą niełatwo posiąść i która wymaga zaawansowanych zdolności matematycznych oraz logicznych. Jak jest naprawdę?

Nie tylko programowaniem branża IT żyje

Na wstępie warto zaznaczyć, że kariera programisty to tylko jedna z wielu ścieżek rozwoju w IT. Istnieje wiele stanowisk, na których umiejętność programowania nie jest potrzebna na co dzień ani zwykle nie jest wymagana przez pracodawców – project manager, scrum master, UI/UX designer, analityk biznesowy, tester manualny… Z drugiej strony, jakakolwiek wiedza na temat kodowania poszerza horyzonty i pozwala głębiej zanurzyć się w procesie tworzenia oprogramowania, a tym samym skuteczniej wykonywać swoje zadania, nawet jeśli nie polegają one bezpośrednio na pisaniu kodu. Przykładowo project manager może skuteczniej zarządzać zespołem jeśli zdaje sobie sprawę z wyzwań stojących przed programistami, a analityk może lepiej precyzować wymagania biznesowe jeśli orientuje się choć trochę jak wygląda struktura kodu odpowiadającego za daną funkcjonalność. Na wielu stanowiskach umiejętność programowania otwiera większe możliwości zawodowe: tester automatyzujący jest atrakcyjniejszym i bardziej wszechstronnym pracownikiem niż tester zajmujący się wyłącznie testami manualnymi; od UI/UX designerów w niektórych firmach oczekuje się także znajomości programowania front-end (czyli wizualnej części stron internetowych) i kandydaci z takimi umiejętnościami mają pierwszeństwo przy rekrutacji; a to tylko niektóre z przykładów jak programowanie przydaje się na różnych obszarach IT. 

Jestem humanistą – czy sobie poradzę?

Wiele osób zniechęca się do programowania już na starcie, nawet jeszcze zanim spróbują napisać pierwszą linijkę kodu. Niekiedy rządzą nimi obawy zakorzenione od szkolnych lat – ktoś nie radził sobie na lekcjach matematyki, ktoś inny nie nadążał za wykonywaniem tabel w Excelu podczas lekcji informatyki, ktoś od zawsze miał przypiętą łatkę humanisty bez talentu do nauk ścisłych… Choć programowanie wymaga pewnej dozy logicznego rozumowania trzeba pamiętać, że nie w każdym przypadku wymaga ono zastosowania zaawansowanej wiedzy matematycznej. Poza tym umiejętność “programistycznego” myślenia i inżynierski sznyt to coś, co rozwija się w sobie podczas tworzenia kodu i co można z czasem wypracować i ulepszyć, podobnie jak trening sportowy pozwala na zwiększenie masy mięśniowej czy wytrzymałości. Niejeden zawodowy programista przez dużą część życia uważał się za stuprocentowego humanistę, zniechęcony mało zrozumiałym sposobem wykładania przedmiotów ścisłych w szkole czy brakiem perspektyw na praktyczne wykorzystanie teoretycznej wiedzy, a zmiana nadeszła dopiero po spróbowaniu swoich sił z kodem i ujrzeniu realnych rezultatów, czy to w postaci estetycznie wyglądającej strony internetowej, czy działającej funkcjonalności. Oczywiście programowanie nie jest dla każdego – jednym jego nauka przychodzi łatwiej, innym trudniej, niektórym osobom po prostu nie przypadnie ono do gustu. Jedyny sposób, żeby się przekonać czy to dla Ciebie to… spróbować! Nie masz nic do stracenia, w najgorszym razie nauczysz się po prostu podstaw nowej umiejętności i dopiszesz do swojego życiorysu kolejne, ciekawe doświadczenie.


Cechy dobrego programisty

Skoro programowanie jednak nie jest dla każdego – czy da się w jakikolwiek sposób ocenić, czy właśnie Ty się w nim odnajdziesz? Z pewnością istnieje kilka cech charakteru, które zwiększają na to szansę. 

Programowanie ma dość skomplikowaną krzywą uczenia się i tym samym wymaga dość dużej dozy cierpliwości i wytrwałości. Radosne chwile sukcesów przeplatane są momentami, kiedy coś nie działa lub kiedy trzeba poświęcić większą ilość czasu na głowienie się nad trudniejszym fragmentem kodu. W momencie kryzysu łatwo jest się poddać i przerwać naukę, a trudniej wytrwać i kontynuować pracę nad problemem. Pojawiają się dodatkowo przeszkody takie jak choćby nadmiar materiałów do nauki w internecie, spośród których duża część jest kiepskiej jakości, więc trudno jest dokonać właściwej selekcji i trafić na wartościowe kursy, które będą prowadzone w przystępny i zrozumiały sposób.. Powoduje to, że wiele osób zniechęca się do programowania już na wczesnym etapie. 

Inną cechą przydatną przy tworzeniu kodu jest kreatywność. Kojarzysz ją wyłącznie z artystycznymi zawodami typu grafik, a programista jest w Twoim wyobrażeniu ścisłym umysłem wykonującym bardzo konkretne zadania? Niezupełnie. Jedne z najistotniejszych wyzwań stojących przed programistami, a właściwie inżynierami oprogramowania, to wymyślanie nowatorskich rozwiązań, wybieranie spośród wszystkich istniejących koncepcji tych najbardziej skutecznych czy też łączenie elementów oprogramowania tak, żeby dobrze ze sobą współgrały. Wymaga to zacięcia twórczego i nieszablonowego myślenia.

Ważnymi cechami u osób chcących programować są dociekliwość i otwarcie się na rozwój. Skuteczne tworzenie kodu wymaga zgromadzenia pewnego zasobu wiedzy, który trzeba nieustannie pielęgnować oraz poszerzać, gdyż technologie rozwijają się i zmieniają bardzo szybko i dynamicznie. Na wielu technicznych stanowiskach w IT do skutecznego wykonywania zadań potrzebna jest wiedza z różnych obszarów – jeśli interdyscyplinarność nie jest dla Ciebie obcym pojęciem, masz dużą szansę nie tylko odnaleźć się w IT, ale też trafić na ciekawe stanowisko.

Niekiedy niedocenianym, ale niezwykle ważnym aspektem są umiejętności miękkie. Wbrew pozorom tworzenie kodu, zwłaszcza w obecnych czasach, nie polega na wielogodzinnym przesiadywaniu w samotności. Komunikacja z innymi uczniami lub członkami zespołu w pracy, skuteczna wymiana doświadczeń i wiedzy, umiejętność zadawania właściwych pytań czy proszenia o pomoc bardziej doświadczonych osób są niezwykle ważnymi elementami procesu nauki programowania oraz późniejszej pracy w IT. Problemy w projektach tworzenia oprogramowania często nie wynikają z braku umiejętności technicznych programistów, tylko z nieporozumień w zespole czy z niezrozumienia potrzeb użytkowników aplikacji.

Jak zacząć?

Jedynym sposobem, żeby odpowiedzieć na pytanie zadane w tytule, jest sprawdzenie się w praktyce. Często najtrudniej jest zrobić pierwszy krok i… po prostu zacząć. Na szczęście obecnie na rynku dostępna jest mnogość materiałów dla początkujących, w różnej formie, darmowych i płatnych. Kursy typu “język programowania x od podstaw” dostępne są w formie wideo, dokumentacji tekstowej, czy też interaktywnych tutoriali z zadaniami. Często zawierają one prosty projekt do wykonania, dzięki czemu można przekonać się, jak dużą satysfakcję daje wykorzystanie umiejętności programowania w praktyce i jak bardzo może ona ułatwić wiele zadań.