Typowy dzień pracy programisty

Paweł Dedio Programowanie 2018-07-14

Witam wszystkich w pierwszym odcinku nowej serii artykułów poświęconej programowaniu. W internecie możecie znaleźć setki poradników wspomagających uczenie się programowania. Jednak ta seria będzie trochę inna. Z własnego doświadczenia wiem, że na początku najtrudniej jest znaleźć motywację do nauki. Brakuje też wiedzy na czym właściwie polega ta praca oraz jakie wiążą się z nią obowiązki i przyjemności. W swoich artykułach postaram się rozwiać wszelkie wątpliwości – tak, aby pomóc Wam podjąć decyzję czy ta ścieżka kariery jest dla Was, czy jednak wolelibyście robić coś innego.

Zobacz: forum dla programistów

Moim celem jest przedstawienie odpowiedzi na pytania, które sam sobie zadawałem, gdy zaczynałem karierę programisty. Podpowiem Wam jak przygotować się do pierwszej rozmowy, skąd czerpać wiedzę, jak nie stracić motywacji oraz co trzeba mieć na uwadze wybierając tą ścieżkę kariery.

Człowiek uczy się na błędach, ale najlepiej uczyć się na cudzych. Dlatego postanowiłem napisać tę serię tak, żeby uchronić Was od błędów, które popełniałem na początku

Mój typowy dzień pracy programisty

To by było tyle jeśli chodzi o wstęp – w dzisiejszym odcinku chciałbym Wam opowiedzieć jak wygląda typowy dzień pracy programisty. Wbrew pozorom nie wygląda to tak, że siedzimy 8 godzin przed monitorem i piszemy kod. Samo pisanie to często mniejsza część rzeczy, które zrobimy w ciągu 8 godzin, ale nie wyprzedzajmy faktów.

Aktualnie pracuję w firmie którą można określić jako coś pomiędzy wielką korporacją a małym startupem. Jak dla mnie jest to najlepszy możliwy wybór, ponieważ atmosfera jest bardzo luźna, a jednocześnie firma zapewnia wszelkie bonusy i wygody takie jak w wielkich korporacjach. Więcej o tym napiszę w odcinku siódmym gdzie porównam kilka rodzajów firm i podpowiem którą wybrać na start.

kawa herbata

Typowy dzień pracy – przynajmniej w moim przypadku – rozpoczyna się od zaparzenia herbaty, którą zabieram do komputera. Bez tego nie da się funkcjonować, chociaż typowy programista pije kawę. Wspomniałem o komputerze – pewnie ciekawi Was na jakim sprzęcie pracują programiści. Na to pytanie nie ma uniwersalnej odpowiedzi, bo wszystko zależy od firmy oraz technologii. Niektóre firmy pozwalają wybrać dowolną wersję laptopa lub komputera stacjonarnego, a inne z góry narzucają Ci sprzęt i konfigurację. Również nie wszystkie środowiska programistyczne są otwarte na każdy system – na przykład tworzyć aplikacje na iPhone można tylko na komputerach z Mac OS.

Moja firma na szczęście nie narzuca nikomu na jakim sprzęcie powinien pracować. Również Android jest bardzo przyjaznym oraz otwartym środowiskiem, więc można na niego pisać używając praktycznie każdego systemu operacyjnego. Ja od początków mojej kariery pracowałem na laptopach z Mac OS i również w obecnej firmie mam do dyspozycji firmowego, 13-calowego Macbooka z dwoma dodatkowymi monitorami.

Wracając do tematu – jako że preferuję raczej wczesne godziny pracy (przeważnie przychodzę na 7 i kończę pracę o 15), to rano mam sporo nieodczytanych maili, które zostały wysłane po moim wyjściu z pracy. Czytam je i odpisuje na nie w trakcie picia herbaty. W momencie, gdy uporam się ze wszystkimi mailami robię sobie mini prasówkę czyli czytam najnowsze newsy dotyczące programowania oraz technologii. W tej branży jest to bardzo ważne, ponieważ wszystko zmienia się bardzo szybko i aby pisać dobry kod trzeba być na bieżąco z technologiami. Czytam zarówno źródła dotyczące typowo programowania na platformę Android (AndroidWeekly, Medium, Reddit, forum.android.com.pl) oraz takie, które dotyczą ogólnie pojętej technologii (Android.com.pl, The Verge). Więcej o tym skąd i w jaki sposób czerpać wiedzę będzie poświęcone w odcinku numer 10.

Po naładowaniu mojego mózgu porcją teiny zawartej w herbacie oraz nowymi wiadomościami ze świata technologii możemy się zabrać do pracy. Właśnie – na czym ona właściwie polega?

Praca z kodem

dzien pracy programisty

W kilkuosobowych projektach nie da się tak po prostu usiąść i zacząć pisać, bo zaraz zrobiłby się ogromny bałagan. Potrzebny jest ktoś lub coś, co pomaga nad tym wszystkim zapanować. Na szczęście istnieją odpowiednie narzędzia. Z ich pomocą managerowie projektu lub inne, odpowiedzialne za to osoby tworzą zadania (ang. task) odzwierciedlające rzeczy, które musimy zaimplementować, aby stworzyć działający projekt. Być może brzmi to trochę skomplikowanie, ale nie przejmuj się tym -wyjaśnię to dogłębnie w odcinku dotyczącym pracy w zespole. Na razie przyjmij, że takie zadanie jest to mały klocek, który musimy stworzyć i dodać do reszty klocków, czyli aktualnie tworzonego programu. Takim klockiem może być na przykład dodanie menu lub jakiegoś innego elementu.

Przykładowa tablica zadań w programie Jira. Program ten jest wykorzystywany w większości firm.

Dzięki takim narzędziom i dobrym managerom projektu, programiści mogą skupić się tylko na tworzeniu kodu i nie muszą tracić czasu na kontakt z klientem, ponieważ wszystkie wymagania są już zdefiniowane w zadaniach. Jednak nie zawsze jest tak różowo i czasami musimy coś ustalić z klientem osobiście. Czasami również klient nie do końca wie w jaki sposób coś powinno działać i musimy mu doradzić. Wtedy bardzo przydaje się znajomość nowych technologii, trendów oraz konkurencyjnych aplikacji. W obecnej firmie mamy bardzo dobrych managerów i cały projekt jest bardzo szczegółowo opisany. Więc, gdy zaczynam pracę to wybieram sobie jakieś wolne zadanie, przypisuję je w systemie na siebie i zabieram się do implementacji. Najczęściej takie zadania są bardzo drobiazgowe – to bardzo ułatwia pracę, bo nie musimy się długo zastanawiać w jaki sposób coś wykonać.

praca programisty

Tak właśnie w uproszczeniu wygląda typowy dzień z pracy programisty. Brzmi bardzo monotonnie, nie? Na szczęście pominąłem kilka przyjemnych rzeczy, o których Wam opowiem teraz.

Rozrywki

Nasz mózg jest tak zbudowany, że nie może cały czas pracować na wysokich obrotach. Po pewnym czasie domaga się odpoczynku. Objawia się to uczuciem senności, obniżeniem koncentracji oraz brakiem możliwości wymyślenia rozwiązania dla nawet najprostszego problemu.

Na szczęście właściciele firm zdają sobie z tego sprawę i wręcz namawiają Cię do częstych przerw. W firmach IT standardem stały się już stoły do piłkarzyków, ping ponga, tarcza do grania w rzutki czy konsola. Coraz częściej można spotkać również bilard oraz dedykowane strefy relaksu, gdzie można nawet uciąć sobie krótką drzemkę. Najlepsze w tym wszystkim jest to, że nikt nikomu nie patrzy na ręce i jeśli miałoby Ci to pomóc to mógłbyś nawet grać kilka godzin w ping ponga. Oczywiście w większości firm czas spędzony na relaksie jest tak samo płatny jak czas spędzony na pracy 😉

Wyżej wymienione rozrywki kryją w sobie też dodatkową wartość niewidoczną na pierwszy rzut oka. Grając najczęściej robisz to z innymi ludźmi którzy robią podobne rzeczy do Twoich. Podczas rozgrywki można wymieniać się doświadczeniami i podrzucić komuś jakiś pomysł. Bardzo często udało mi się znaleźć rozwiązanie jakiegoś trudnego problemu, grając w ping ponga czy piłkarzyki. W zespołach, w których pracowałem zawsze szliśmy pogadać do kuchni lub pograć w jakąś grę jeśli ktoś natrafił na jakiś problem po to by odprężyć trochę umysł i powymieniać się pomysłami.

Mam nadzieję, że tym odcinkiem rozwiałem kilka wątpliwości dotyczących tego zawodu. Mi osobiście brakowało takich artykułów i szedłem do tej branży praktycznie w ciemno. Fajnie, że dotrwałeś do końca. Widzimy się za tydzień w artykule, gdzie opiszę plusy i minusy pracy programisty. Do zobaczenia!

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



  • the survivor

    A jak ten czas jest stosunkowo wykorzystywany? Ile czasu zajmuje prasówka, ile kodowanie a ile relaks?

  • Mateusz Tyszkiewicz

    Super, czekam na kolejne części 🙂

  • Flaqs

    Zapowiada się dobra seria! Cieszę się, że ten serwis się ciągle rozwija. Tak trzymać!

  • stark2991

    Jak się wkręcić na takie stanowisko? 🙂

    • Paweł Dedio

      Będzie osobny artykuł w którym napiszę kilka porad jak zostać profesjonalnym programistą.

  • Tomasz Cy-man

    I teraz kazdy będzie myślał, że tak wygląda praca kazdego programisty i jak tylko skończą studia to dostaną maca i rakietkę do tenisa 😉

    • ameba#23234 MdR

      Na początku trzeba pisać kod w mokrej jaskini na tabliczkach kamiennych a szef stoi z maczugą za plecami. Ale awans do starej stodoły – bezcenny

  • Marek

    Bardzo Ci dziękuję za ten fajny artykuł i czekam na kolejne. Rozwiń temat ścieżki kariery programisty, od czego zacząć i jak znaleźć motywację do nauki o której pisałeś.

    • Dzięki za uznanie. Będą osobne artykuły opisujące w jaki sposób można zacząć programować oraz jaką firmę wybrać na start.

    • Paweł Dedio

      Dzięki za uznanie. Będą osobne artykuły opisujące w jaki sposób można zacząć programować oraz jaką firmę wybrać na start.

  • Swietny artykuł, jak najbardziej czekam na kolejne 😀