[FAQ] Wszystko, co powinieneś wiedzieć jeśli interesuje Cię praca programisty

Paweł Dedio Programowanie 2018-08-04

Witam wszystkich w czwartym odcinku naszej serii. Zakładam, że po kilku odcinkach czytają już tylko ci, którzy chcieliby zostać programistami. To właśnie do nich kieruję ten odcinek. Odpowiem w nim na kilka najczęściej zadawanych pytań, bo na pewno masz ich sporo. Oczywiście zdaję sobie sprawę, że nie wyjaśnię wszystkiego, więc śmiało możecie zadawać pytania w komentarzach!

Czy studia są niezbędne?

Jest to chyba najczęściej zadawane pytanie. Jeśli miałbym odpowiedzieć jak najprościej, to odpowiedziałbym, że nie są potrzebne. Jednak taka odpowiedź wymaga rozwinięcia, bo nie jest to takie proste. Mało które firmy wymagają od swoich pracowników studiów, a nawet jeśli wymagają, to i tak zatrudnią pracownika bez studiów – pod warunkiem, że spełnia pozostałe wymagania. Wiem to z własnego przykładu, ponieważ zostałem zatrudniony na stanowisko z wymaganymi studiami, mimo że nie miałem ich ukończonych.

Jak widzisz, brak studiów to żadna przeszkoda w byciu programistą. Jednak z własnego doświadczenia wiem, że studia bywają pomocne. Nauczysz się na nich sporo rzeczy, które nie są związane bezpośrednio z programowaniem, ale przydadzą ci się w pracy. Na przykład jak działa pamięć, jak optymalizować użycie procesora i tak dalej. Podsumowując: studia nie są wymagane, lecz ukończenie jakiegoś kierunku informatycznego pomoże Ci być lepszym programistą.

Ciekawą alternatywą dla studiów informatycznych są kursy programowania. Prowadzone od podstaw, opierają się głównie na praktycznych zadaniach programistycznych, czego często brakuje na studiach. Dodatkowym atutem kursów jest tworzenie własnego portfolio programistycznego i przygotowanie do rozmów o pracę – jak np. akredytowany przez Pracuj.pl program Career Lab w Coders Lab. Absolwenci po kursie mają wystarczającą wiedzę i zdolności praktyczne, aby móc pracować jako junior developer i dalej samodzielnie się rozwijać. To zdecydowanie szybsza droga do branży IT. Więcej o kursach możecie przeczytać tutaj.

Czy muszę być dobry z matematyki?

Podobnie jak wyżej, ciężko odpowiedzieć na to pytanie jednoznacznie. Dużo zależy od branży, którą wybierzesz. Jeśli planujesz tworzyć gry, to znajomość matematyki bardzo Ci się przyda. Często będziesz musiał obliczać kolizje różnych przedmiotów lub ich właściwości fizyczne. Oczywiście to nie jest tak, że musisz mieć tytuł profesora z matematyki, żeby być game developerem (tak nazywa się programista tworzący gry). Tych wszystkich rzeczy będziesz uczył się w trakcie zdobywania doświadczenia.

Z kolei jeśli zamierzasz tworzyć aplikacje użytkowe (na przykład aplikacja do obsługi poczty), to znajomość matematyki nie jest jakoś szczególnie potrzebna. Najważniejsza jest zdolność do logicznego myślenia, bo bez tego będzie Ci trudno rozwiązywać problemy programistyczne, a na tym ta praca polega. Warto również dodać, że niektóre firmy wymagają zdania testu programistycznego – najczęściej polega on na napisaniu jakiegoś algorytmu. Takich zadań nie rozwiążemy bez znajomości kolekcji, grafów czy algorytmów przeszukiwania. Na szczęście firmy, które tego wymagają najczęściej należą do mniejszości.

Czy muszę uczyć się kodu na pamięć?

Zanim zacząłem pracować jako programista wyobrażałem sobie, że programista musi zapamiętywać sporo kodu. Nie mogłem się bardziej mylić. W rzeczywistości musisz umieć na pamięć tylko kilka elementów kluczowych dla danego języka programowania – na przykład jak napisać pętlę lub zadeklarować metodę. Programowanie to tak naprawdę mówienie komputerowi, co ma robić. Liczą się pewne schematy myślowe (czyli co robić po kolei), które na szczęście wchodzą do głowy bardzo szybko i nie ma problemu z ich zapamiętywaniem.

Często korzysta się z gotowych rozwiązań lub innych rodzajów pomocy, więc nie martw się jeśli teraz masz problemy z zapamiętywaniem kodu. W miarę nabierania doświadczenia Twój mózg sam będzie zapamiętywał pewne, często powtarzane schematy.

Czy programista pisze tylko kod i nic innego nie robi?

Oczywiście pisanie kodu to czasami mniejszość pracy programisty. Często musimy pomóc klientowi w zdefiniowaniu wymagań, oszacować długość trwania projektu, prowadzić rozmowy rekrutacyjne, chodzić na spotkania i tak dalej. Pracując w korporacji często miałem takie dni, gdy nie napisałem nawet jednej linijki kodu. Zapraszam do przeczytania pierwszego artykułu pod tytułem Typowy dzień pracy programisty, gdzie opisałem jak wygląda przeciętny dzień pracy programisty.

Czy ciężko zostać programistą?

Patrząc z boku nie jest trudno. Próg wejścia nie jest szczególnie wysoki – nie musisz robić drogich licencji i certyfikatów, nie musisz kończyć wieloletnich studiów, nie musisz mieć znajomości, bo jest sporo różnych ofert. Najtrudniejsza jest walka z samym sobą. Pamiętam, że moje początki były ciężkie – nie mogłem przemóc się do nauki, co chwilę szukałem jakiś wymówek. Pierwsze kroki zawsze są najtrudniejsze, jest ogrom rzeczy, których nie rozumiesz, musisz czytać coś po kilka razy, żeby w końcu dowiedzieć się jak coś działa. Mi pomogło wyznaczenie sobie jakiegoś celu – zdecydowałem, że na naukę programowania będę poświęcał godzinę dziennie i ściśle się tego trzymałem. Godzina dziennie to jest niewiele, ale systematyczność sprawiła, że polubiłem programowanie i stało się ono moją pasją.

Czy programiści faktycznie tak dużo zarabiają?

Pisząc krótko – tak, zarabiają sporo. Oczywiście wszystko zależy od technologii, jednak jeśli będziesz dobrym programistą, to możesz być pewny, że po kilku latach będziesz zarabiał odpowiednik kilku średnich krajowych. Kwestię zarobków opisywałem w moim poprzednim odcinku, również polecam świetny artykuł Łukasza, który także poruszył tę kwestię.

Czy programowanie to lekka praca?

Uwielbiam, gdy ktoś mówi, że to lekka praca, bo tylko siedzi się przy komputerze. W rzeczywistości nie jest to lekka praca. Faktycznie, jest lekka pod względem fizycznym, jednak bardzo męczy umysł. Często spędzałem nad jakimś problemem kilka godzin i miałem już dość. Po powrocie z pracy nie mogłem się na niczym skupić. W takich sytuacjach pomaga wysiłek fizyczny, ostry trening na siłowni lub wycieczka rowerowa. Sprawiają one, że nas umysł odzyskuje świeżość i jest zdolny do działania. Podsumowując – pod względem fizycznym jest to bardzo lekka praca, lecz potrafi bardzo zmęczyć nasz umysł.

Czy programiści to nerdy?

Myślę, że ktoś kto pracował jako programista kilkanaście lat temu, bez zawahania odpowiedziałby, że programiści to nerdy. Dzisiaj ciężko znaleźć takiego typowego programistę z memów. Większość moich znajomych z tej branży dba o siebie, chodzi na siłownie lub uprawa jakieś inne sporty. Również wysokie zarobki pomagają w realizacji różnych hobby. Myślę, że w dzisiejszych czasach większość programistów stanowią tacy zwykli ludzie, zupełnie jak w każdej innej branży. Zawód ten stał się bardziej otwarty i nie jest już tylko zarezerwowany dla komputerowych fanatyków.

Mam nadzieję, że udało mi się odpowiedzieć chociaż na część nurtujących Cię pytań. Tak, jak pisałem na początku, śmiało możesz zadać jakieś pytanie w komentarzu i na nie też odpowiem. Do zobaczenia za tydzień – opiszę kwestie, które okazały się inne, niż je sobie wyobrażałem.

Zapraszam również na największe w Polsce Forum dla programistów Android. Jeśli macie pytania odnośnie kariery jako programista – zapraszam do działu Kariera programowanie.

Poprzednie odcinki:

  1. Typowy dzień pracy programisty
  2. Wady pracy programisty
  3. Zalety pracy programisty


  • Gulgozaur

    A co z wiekiem. Na studiach stawiałem pierwsze kroki w programowaniu ale moja ścieżka zawodowa potoczyła się inaczej no i czytając takie artykuły i rozmawiając z znajomymi doszedłem do wniosku że nie jestem zadowolony z swojej pracy i chciał bym się przebranżowić. Czy mając 29 lat to ostatni dzwonek a może to już dzwon pogrzebowy i jest za późno. Chodzi mi o realne szanse ogarnięcia podstaw i nadgonienia wiedzy na tyle aby dać radę w zawodzie. I co może lepsze start jako niezależny wydawca aplikacji czy może praca pod w firmie która dostaje konkretne zlecenia.

  • Marta Zabłocka

    Jakbym była młodsza, to bym się chętnie przebranżowiła. Potrzeba dużo rąk do pracy i zarobki są bardzo dobre: https://nofluffjobs.com/blog/oferowane-zarobki-w-it-w-2018-roku-ile-zarabia-programista-w-polsce-infografika/ przyszłościowy zawód.

  • marcinadd

    Witaj. To może ja będę pierwszy. Uczę się programowania od 3 lat. Poznałem podstawy programowania, następnie podstawowe algorytmy i wziąłem się za naukę programowania obiektowego, potem trochę programów z GUI i znowu algorytmy. Robiłem zadania z HackerRank czy też z innych stron, ale czułem, że stoję w miejscu, gdyż stwierdziłem, że lepiej byłoby poznawać język niż zajmować się algorytmami. Masz może jakieś sugestie w jakim kierunku dalej się rozwijać? Jak wygląda takie przyjęcie do pracy na stanowisku jakiegoś juniora, skoro w zasadzie nie umiem zbyt dużo? Czy firmy chętnie przyjmują takich młodych bez doświadczenia zawodowego?

    • drzazga3009

      Po 3 latach takiego uczenia się, jeśli rzeczywiście solidnie opanowałeś np. wzorce, obiektówkę, programowanie dynamiczne, zachłanne, jakieś klasyczne rozwiązania problemów jak algorytmy grafowe czy LCS pewnie będziesz jednym z mocniejszych kandydatów na staż. Złóż kilka CV, idź na kilka rozmów i na pewno cię gdzieś przyjmą. Nawet nie wiesz jakich dzbanów przyjmują. Niektórzy myślą że po 2 kursach Javy z YouTube czy jakimś bootcampie dla kobiet z prezentacją zagadnień jak dla dzieci w podstawówce zostaną geniuszami programistycznymi. Ty pewnie ich zjadasz na śniadanie pomimo tego że wydaje ci się że zbyt dużo nie umiesz. Pewnie masz rację i jeszcze dużo nauki przed tobą, ale nie ma co być niepewnym siebie, na tle rzeszy niepoważnych ludzi których do programowania przyciąga wizja dużej kasy za nic nie robienie (bo co to za problem poklikać w komputer?) jesteś dobrym kandydatem. Pod warunkiem że przez te 3 lata mocno się rozwijałeś, tak jak mówisz.

      • marcinadd

        No nie są to zagadnienia mi obce. Myślę, że porozwijam się w stronę grafów, bo opierać się o samo DFS i BFS to trochę słabo. Wiadomo jeszcze dużo nauki przede mną. Złożenie CV w tej chwili odpada, bo nie mam jeszcze ukończonych 18 lat. Poza tym wolałbym pierw ukończyć liceum, dostać się na studia i dopiero wtedy zacząć rozglądać się za czymś.

        • Flaqs

          Szacun. Uwazam, że masz już teraz ogromny headstart. Ja żałuję że w liceum nie miałem dość dużo samozaparcia i większość czasu spędzałem na grach 🙁 miło wiedzieć że są młodzi ludzie, którzy już w młodości inwestują w swoją przyszłość. Tak trzymaj i się nie poddawaj!
          Pozdro

    • Rafal

      Tak jak niżej napisał kolega prawdopodobnie jesteś już mocnym kandydatem. Jeżeli nie masz jeszcze to przygotuj dwa, trzy skończone projekty, na których oprzesz swoją rozmowe kwalifikacyjną (powiesz o wyzwaniach, wyroznisz na githubie etc). Poczytaj o agile, scrum, jira. Ja poza technicznymi rzeczami miałem też pytania z organizacji swojej pracy etc. No i GIT bo zdarzają się osoby, które tego nie używają, a to jedno z ważniejszych narzędzi w pracy.

      • marcinadd

        W sumie dobry pomysł. Mam jakieś projekty, może by po prostu je opublikować na publicznie. Gita znam zdaję mi się na wystarczającym poziomie do pracy.