Partnerem strategicznym Homodigital.pl jest
27 lipca 2022

Zjeżdżalnia w biurze, godziny spędzone w kuchni i magiczne znaczki na ekranie komputera… Jak wygląda praca programisty i dlaczego inaczej, niż myślisz?

Programowanie dla wielu jest jak magia – bo czemu nie nazywać magią tego, czego nie rozumiemy? Jakim cudem będąc programistą, da się łączyć wiele etatów, zarabiać fortunę i być jeszcze przy tym szczęśliwym człowiekiem? Nie, zmieniacz czasu ukradziony od Hermiony nie jest odpowiedzią. Po prostu praca programisty wygląda inaczej niż większość znanych zawodów i zupełnie odbiega od tego, jak sobie społeczeństwo wyobraża pracę nerda zamkniętego w piwnicy albo supergeniusza pokroju Elona Muska. Na czym tak naprawdę polega praca programisty, jak wygląda jego typowy dzień i co to znaczy pisać kod? Wyjaśniamy.

Programowanie dla wielu jest jak magia – bo czemu nie nazywać magią tego, czego nie rozumiemy? Jakim cudem będąc programistą, da się łączyć wiele etatów, zarabiać fortunę i być jeszcze przy tym szczęśliwym człowiekiem? Nie, zmieniacz czasu ukradziony od Hermiony nie jest odpowiedzią. Po prostu praca programisty wygląda inaczej niż większość znanych zawodów i zupełnie odbiega od tego, jak sobie społeczeństwo wyobraża pracę nerda zamkniętego w piwnicy albo supergeniusza pokroju Elona Muska. Na czym tak naprawdę polega praca programisty, jak wygląda jego typowy dzień i co to znaczy pisać kod? Wyjaśniamy.

Programista programiście nierówny – to chyba jedno z najpojemniejszych określeń, jeśli chodzi o współczesne zawody. Wyróżniamy programistów back endu, front endu, fullstack. W zależności od języka programowania możemy nazwać ich programistami Java, PHP, C++… Istnieją też programiści stron internetowych, aplikacji mobilnych i gier komputerowych. Dlatego niemożliwością jest opisanie idealnego dnia każdego z nich. Jednak pewne zachowania pozostają wspólne i im właśnie pora się przyjrzeć.

Programista pisze kod. Czyli co?!

Zadaniem programisty jest pisanie kodu programu. Choć to najlepsza definicja i większość osób się do niej ogranicza, jako programistka z wieloletnim stażem któregoś dnia odkryłam, że nie jest zrozumiała. Czym jest kod? Czym program? Jako to się pisze?!

W programowaniu posługujemy się różnymi językami. Do najpopularniejszych zaliczają się Java, PHP, C++, C#, Python, ale to tylko niewielki fragment długiej listy. Języki programowania, tak jak język, którym na co dzień się posługujesz (na przykład polski, angielski), mają określony zasób słów i gramatykę. Pisząc program, często otwiera się specjalną aplikację do pisania, na przykład Visual Studio. Tam dosłownie pisze się konkretne słowa w konkretnej kolejności – i to dokładnie oznacza pisanie programu. Oczywiście to nie koniec całej procedury tworzenia aplikacji. W uproszczeniu: po napisaniu kodu należy go skompilować, by otrzymać gotowy produkt – program, aplikację. Co to jest?

To tak naprawdę wszystko, z czego korzystasz, gdy siadasz przed komputerem, chwytasz za telefon albo nawet uruchamiasz jakieś domowe urządzenie. Jeśli czytasz teraz ten tekst na laptopie, najprawdopodobniej korzystasz z przeglądarki internetowej. Może to być Google Chrome, Mozilla Firefox, Edge albo jeszcze coś innego. To są programy. Gdy na telefonie odpalasz aplikację, na przykład kalendarz, to też masz do czynienia z programem. A gdy grasz w grę – tak, w jej tworzeniu najprawdopodobniej udział brali programiści, ponieważ musieli napisać logikę gry, czyli to jak się zachowują bohaterowie, wrogowie itd.

Programowanie, czyli pisanie programów, to najważniejszy element zawodu programisty. Ale czy tylko na tym polega jego praca, jak przyjęło się sądzić?

Piłkarzyki, spotkania w kuchni i spacery po korytarzach, czyli pozory, które mylą

Przyjęło się myślenie, że pracownik – zwłaszcza ten pracujący w korporacji – pracuje wtedy, gdy znajduje się na stanowisku pracy. To dość oczywiste. Osoba pracująca przy taśmie produkcyjnej może zajmować się swoim zadaniem tylko, gdy przy niej stoi. Sprzątaczka też pracuje w praktyce wtedy, kiedy sprząta. Człowiek pracujący przy księgowości także realizuje swoje zadania. Z programistami wygląda to trochę inaczej.

Choć zawód programisty jest zawodem technicznym, to ma bardzo dużo związku z branżą kreatywną. Gdy programista otrzymuje nowe zadanie – na przykład zaprogramowanie jakiegoś formularza na stronie www – rzadko siada od razu do komputera. Niektóre zadania są trywialne. Inne wymagają bardzo dokładnego przemyślenia. Dlatego tak często programistów można spotkać w biurze w dziwnych miejscach…

Gapienie się przez okno w kuchni, granie w piłkarzyki, rozmowy przy wspólnym stole – to mogą być elementy pracy twórczej, gdy algorytm i zachowanie kodu są dopiero obmyślane. Sam proces pisania kodu często (choć nie zawsze) zajmuje najmniej czasu. Wymyślenie, jak aplikacja ma działać – to potrafi pochłonąć godziny. Godziny, które niezorientowanemu obserwatorowi wydadzą się bezczelnym marnowaniem czasu pracodawcy.

Jak wygląda praca programisty? Etapy pracy

Na rozwiązanie problemu (inaczej: wykonanie zadania, napisanie fragmentu aplikacji) składa się kilka etapów.

Analiza problemu

Opisane powyżej rozmyślania to etap pierwszy – analiza problemu. Nie zawsze analiza wiąże się z rozważaniami w samotności. Czasem na tym etapie programista przekopuje Internet, szukając podobnych aplikacji. Bywa, że spotyka się z całym zespołem i razem dyskutują o najlepszym podejściu.

Pomysł

Dopiero gdy programista zrozumie problem, przed jakim stoi, pojawia się pomysł. Rzadko kiedy na tym etapie siada się do pisania kodu. Pomysł to dopiero ulotna wizja, zalążek rozwiązania. Wymaga dogłębnego rozplanowania. Często rysuje się wtedy algorytmy albo prototypuje fragmenty aplikacji. Także teraz mogą okazać się niezbędne konsultacje z zespołem.

Implementacja

Gdy już programista czuje się pewnie z problemem i ze swoim pomysłem, może przejść do implementacji, czyli tego, co wiele osób w tej branży lubi najbardziej – pisania kodu! Wykorzystuje się tu przeróżne aplikacje ułatwiające napisanie aplikacji, a potem jej skompilowanie. Jednak najważniejsze jest to, że dopiero tutaj mamy etap, na którym faktycznie jesteśmy przyklejeni do komputera i spędzamy godziny albo i dni „klepiąc kod”.

Testy

Napisany kod jeszcze nie jest gotowy do dołączenia do pełnej aplikacji – trzeba go przetestować. Na etapie testowania wiele zależy od tego, czy w firmie znajduje się grupa testerów, czy kod testowany jest przez jego twórców.

Każdy etap ma znaczenie

Warto podkreślić, że znaczenie każdego z etapów, czas jego trwania i złożoność zależą od wielu czynników. Istotne jest doświadczenie programistów – im więcej kodu napisali, tym łatwiej im się analizuje problemy. Implementacja może zająć godziny, gdy wszystkie złożone algorytmy matematyczne trzeba napisać samemu. Ale czasem można uprościć sobie życie bibliotekami, czyli takimi jakby zbiorami gotowców. To znacząco skraca czas pracy i jest jak najbardziej normalną praktyką.

Pora na spotkanie!

Równie ważne, co tworzenie kodu, są spotkania całego zespołu. W zależności od tego, jakie zasady dotyczące zarządzania zadaniami zespół przyjął, może się różnić ich intensywność. Bardzo popularne jest codzienne organizowanie spotkań, tak zwanych „stand-up’ów”, w trakcie których każdy odpowiada na trzy pytania:

– co zrobił wczoraj,

– co zrobi dzisiaj,

– jakie przewiduje trudności.

Co więcej, podobne spotkania mające podsumować i pomóc w zaplanowaniu zadań organizuje się raz w tygodniu. Albo gdy zespół zrealizuje jakiś kamień milowy w projekcie.

Ważne, by od początku wiedzieć, według jakich zasad takie spotkania są organizowane. Dzięki temu nawet osoby pracujące zdalnie mogą być dostępne na łączach o określonym czasie.

Co robi programista, kiedy nie programuje?

Opisane powyżej praktyki są kluczowe w pracy programisty. I zwykle właśnie dla nich idzie się pracować w tym zawodzie. Jednocześnie są takie dni, gdy programista nie ma ani chwili, by usiąść do kodu. Znowu: ich częstotliwość zależy od doświadczenia programisty, ale też struktury w firmie. Do regularnych obowiązków programistów należy między innymi sprawdzanie skrzynki mailowej i odpisywanie na wiadomości.

Ważne jest także dokształcanie. Większość programistów uczy się w domu po godzinach, ale w niektórych firmach pracodawca gwarantuje dodatkowe lekcje, na przykład językowe. Albo wykłady z nowych technologii. Takie rzeczy też zajmują czas, ale warto z nich korzystać.

Zadaniem programisty może być także code review. Termin ten oznacza wzajemne sprawdzanie przez zespół swojego kodu. Czas zajmuje także porządkowanie zadań (na przykład w systemie Jira, w którym nie tylko wybiera się zadania dla siebie, ale także określa, ile czasu zajmą). Często programiści piszą dokumentację. Czasem eksperymentują – zamiast pisać kod, testują na przykład okulary do wirtualnej rzeczywistości, gdy zespół ma podjąć decyzję, które będą najlepsze do nowego projektu.

Poza tym wszystkim i wieloma niewymienionymi rzeczami programistom w pracy zdarza się… odpoczywać. Firmy o tym wiedzą, niektóre nawet w rekrutacji piszą o dostępie do pokoju drzemek, pokoju gier, czy… zjeżdżalni. Sama spotkałam się z rekrutacją, w której zjeżdżalnia była głównym wabikiem!

Wiedziałeś, na czym polega praca programisty?

Z tych wszystkich powodów, rzadko kiedy programista pracuje osiem godzin dziennie. Ciężko przestać myśleć o ciekawym zadaniu, które się danego dnia dostało, nawet będąc w domu. Czasem zostaje się po godzinach, choć tak naprawdę nikt nikomu nie liczy czasu pracy i nie wie, ile go spędzasz w biurze. To zawód dla tych, którzy potrafią uczciwie podejść do zadań i sami szacować swoje siły. Możliwości odpoczynku i marnowania czasu kuszą, bo od programistów wymaga się wielu umiejętności, ale przede wszystkim – uczciwości.

Dwa etaty, dwie pensje, osiem godzin dziennie? Tak wygląda praca programisty overemployment!

Tagi:
Home Strona główna Subiektywnie o finansach
Skip to content email-icon