Dzień z życia programisty

0

Witam,
Chciałbym poprosić o wypowiedź programistów, którzy pracują już pełną parą komercyjnie.
Jak wygląda dzień w pracy ??? Chodzi mi o nabranie pewnego wyobrażenia jak ta praca może wyglądać, kiedy już poziom zarobków, ale co się z tym wiąże, też i poziom oczekiwań pracodawcy jest WYSOKI. Jak to wygląda ? Ile przykładowo linijek kodu średnio trzeba napisać (+-) ? Czy jest to faktycznie cały dzień klepania kodu ? Co się dzieje jak jest problem, a rozwiązanie nie przychodzi do głowy wraz z upływającymi godzinami ? Innymi słowy, jak ciężka jest to praca - blaski i cienie. Jeśli można, z chęcią poczytam opinie z różnych dziedzin programowania i języków.

2

Jestem programista javy. Przychodze do pracy, kodze, gadam z ludzmi na roznych spotkaniach, potem dalej kodze i wracam do domu. Czyli tak jak w kazdej innej pracy biurowej, czasem sie okazuje ze zle zaplanowano prace i trzeba siedziec dluzej zeby skonczyc projekt na czas.
Dodaj do tego ciagle czytanie o nowych genialnych frameworkach ktore nie wnosza nic nowego ale cala branza w owczym pedzie zaczyna je wprowadzac bo nie mozesz byc przeciez do tylu z nowinkami.

0

Dzieki za odpowiedź. Może jeszcze dopytam... nowych frameworków uczysz się w pracy czy musisz zawsze ogarniać to w domu ? I coś może o tempie tego kodzenia. Na spokojnie sobie piszesz ? Myślisz nad tym, czy to jest raczej klepanka tego co już dobrze umiesz i robisz to prawie automatycznie ? Jest czas na dumanie nad kodem, czy program po prostu musi rosnąć z minuty na minutę ?

1

Ile przykładowo linijek kodu średnio trzeba napisać (+-)

Nie mierzy się już na szczęście programowania w liczbach linijek kodu. To była idiotyczna metryka (linijki kodu nie odzwierciedlają ani wniesionej wartości biznesowej do produktu, ani nie są nawet dobrą miarą pod kątem technicznym - kod to koszt, a nie zysk - więc należy dążyć do tego, żeby tych linijek kodu było możliwie mało, jednak wystarczająco, żeby zmieścić rzeczywistą złożoność rozwiązania (trochę jak kupowanie czegoś w sklepie - każda linijka kodu to jak wydana złotówka. Z jednej strony dążysz do tego, żeby jak najmniej napisać kodu/wydać pieniędzy, a z drugiej strony czasami nie warto skąpić i wydać trochę więcej pieniędzy albo napisać trochę więcej kodu, jeśli będzie taka potrzeba.

Tak więc nie mierzy się już wydajności w linijkach kodu.

To nie znaczy, że IT poszło w dobrą stronę.

Wydajność programistów oblicza się teraz w wyobrażonych jednostkach, tzw. storypointach, które nie mają żadnego odniesienia do rzeczywistości*, a są po prostu miarą subiektywnych odczuć programistów na temat trudności danego zadania, w porównaniu do innych zadań. Wymienione storypointy ustala się często siedząc i rzucając karty z kolorowym nadrukiem (wszyscy widzą te karty, więc też nie wypada rzucać za dużej liczby punktów, bo zdradziłbyś się, że coś jest za trudne dla ciebie).

Potem się ustala zadania i ustawia na tablicy korkowej w pozycji wyjściowej (pierwsza kolumna po lewej stronie). Wraz z postępami prac, przesuwa się kolorowe karteczki w prawo (tak zwany Kanban). I teraz. Praca toczy się w sprintach (np. tygodniowych). Po zakończeniu każdego sprintu powinieneś mieć na swoim koncie jak najwięcej przesuniętych karteczek w prawo. Jeśli masz za mało, to będzie to źle widziane.

*jest to "symulakr", o którym pisał filozof/socjolog Jean Baudrillard.

Co się dzieje jak jest problem, a rozwiązanie nie przychodzi do głowy wraz z upływającymi godzinami ?

trzeba pytać innych, albo odejść od komputera i pomyśleć na spokojnie (bo komputer zwykle rozprasza i nie pozwala złapać dystansu do problemu).

4

Dobry programista zmniejsza liczbę linii kodu, a nie ją zwiększa.

1

Dobrych programistów jest tylu ilu jest dobrych lekarzy. Jednostki :)
Mój dzień pracy: wstaje o 7:30, śniadanie, prysznić, praca od 9 do 17. Międzyczasie jakiś obiad. Później już nie siadam do komputera. No chyba, że muszę :)

3

Czasem trzeba się poświęcić. Wtedy wyłączam 4p, wyłączam fejsa, Reddit, wykop i inne portale dla inteligencji i poświęcam 2-3 dni by napisać rozwiązanie dla problemu. Dzięki temu mogę później w spokoju przez parę tygodni z powrotem wrócić do lektury w międzyczasie nanosząc jakieś drobne poprawki od biznesu czy fixując glicze od testerów (które często świadomie zostawiam ;) ) Dziwnym trafem i tak trzeba jeszcze czekać na backend czy frontend.

Praca jest ciężka bo po pewnym okresie portale dla inteligencji robią się schematyczne, otwarta gra w CSa źle wpływa na morale kolegów, piłkarzyki masz rozpracowane na każdą konfigurację w zespole a częsta praca zdalna uwstecznia twoją socjalizację.

Dlatego też by nie umrzeć z nudów zmieniam wtedy pracę :]

1

Mój dzień pracy sprzed ok. roku
9:00 - 9:30 - przychodzę do pracy, witam się ze wszystkimi
9:45-10:00 - szybkie spojrzenie na wszystkie listy zadań, czy nic się nie pali
10:00 - 10:30 - daily jednego z projektów
10:30 - 11:00 - przerwa na kawę i gadki
11:00 - 13:00 - maile, praca przy kodzie, różne spotkania, gadki przy kawie itp.
13:00 - 13:45 - przerwa obiadowa
13:45 - 16:45 - maile, praca przy kodzie, różne spotkania, gadki przy kawie itp.
16:45 - 17:30 - klepanie maili na koniec dnia, czyszczenie tasków, raportowanie czasu

1
LukeJL napisał(a):

Wydajność programistów oblicza się teraz w wyobrażonych jednostkach, tzw. storypointach, które nie mają żadnego odniesienia do rzeczywistości*, a są po prostu miarą subiektywnych odczuć programistów na temat trudności danego zadania, w porównaniu do innych zadań. Wymienione storypointy ustala się często siedząc i rzucając karty z kolorowym nadrukiem (wszyscy widzą te karty, więc też nie wypada rzucać za dużej liczby punktów, bo zdradziłbyś się, że coś jest za trudne dla ciebie).

Potem się ustala zadania i ustawia na tablicy korkowej w pozycji wyjściowej (pierwsza kolumna po lewej stronie). Wraz z postępami prac, przesuwa się kolorowe karteczki w prawo (tak zwany Kanban). I teraz. Praca toczy się w sprintach (np. tygodniowych). Po zakończeniu każdego sprintu powinieneś mieć na swoim koncie jak najwięcej przesuniętych karteczek w prawo. Jeśli masz za mało, to będzie to źle widziane.

Brzmi to jak koszmar. Jak to dobrze, że u mnie w robocie nikt nie bawi się w takie rzeczy.

0
somekind napisał(a):

Dobry programista zmniejsza liczbę linii kodu, a nie ją zwiększa.

Rozumiem ten proces. Chodzi o coś innego, ile tych linii dziennie, tak czy inaczej się produkuje, średnio na jeża ?

4

Rozumiem ten proces. Chodzi o coś innego, ile tych linii dziennie, tak czy inaczej się produkuje, średnio na jerza ?

Nie rozumiesz. W programowaniu nie chodzi o linijki kodu. Możesz zrobić 50 linijek kodu, możesz zrobić 2000 na minusie (tj. usuwając jakiś niepotrzebny kod), ale sama ta liczba nijak ci nie powie, ani:

  • czy jesteś dobrym pracownikiem? (trzeba taski napieprzać i zamykać taski - to się będzie liczyło dla przełożonych, czy zamykasz taski z podobną prędkością co reszta).
  • czy jesteś dobrym programistą? (I znowu to ci niewiele powie. Zwykle im jesteś gorszy, tym więcej piszesz kodu, ale też przecież nie zawsze).
  • czy dodałeś wartość biznesową do produktu? (i znowu linijki kodu nie powiedzą ci nic o tym)
  • czy się zmęczyłeś czy miałeś luźny dzień? (też to ci nic nie powie, chociaż zwykle im mniej piszesz kodu tym bardziej się męczysz, bo musisz myśleć).

Poza tym linijki kodu zależą też od języka (np. Pythonie będzie ich mało, w Javie będzie ich przeważnie kilka razy więcej).

Ale generalnie praca programisty to w większości bardziej czytanie istniejącego kodu, ew. myślenie albo dłubanie (szczególnie w CSS, gdzie się wiele dłubie, żeby zobaczyć jak to wygląda), albo debugowanie i szukanie błędów. Samego pisania nowego kodu zwykle jest mało (chyba, że wchodzisz do nowego projektu), częściej się modyfikuje istniejący (a tutaj znowu - żeby zmodyfikować coś istniejącego to np. możesz 3 godziny się zapoznawać z modułem, żeby potem przez 10 minut napisać własny moduł, który będzie się integrował z istniejącym. A czasem przez 3 godziny będziesz kombinował z kodem, żeby tylko go uruchomić i jak się uruchomi to będzie sukces. Ale linijki kodu nie mają tu nic do rzeczy, może poza tym, że jak coś ma za dużo linijek kodu, to trudniej zrozumieć)

Poza tym programista nie tylko programowaniem się zajmuje - trzeba napisać jakiegoś maila, pochodzić na spotkania, pogadać z kimś, czasem po prostu poczekać bezczynnie pijąc kawę i oglądając śmieszne koty, żeby tylko dupogodziny odbęnić (wbrew pozorom to nie jest wcale przyjemne, bo masz poczucie, że jesteś niepotrzebny i tracisz czas).

0
LukeJL napisał(a):

Rozumiem ten proces. Chodzi o coś innego, ile tych linii dziennie, tak czy inaczej się produkuje, średnio na jeża ?

Nie rozumiesz. W programowaniu nie chodzi o linijki kodu. Możesz zrobić 50 linijek kodu, możesz zrobić 2000 na minusie (tj. usuwając jakiś niepotrzebny kod), ale sama ta liczba nijak ci nie powie, ani:

...ale napisałem przecież , że rozumiem. Nie chodzi mi o ocenę wydajności. Chodziło mi o to co napisałeś dalej, czyli ile z tej pracy dziennej to samo pisanie. Może powinienem się precyzyjniej wyrazić, sorki.

5

Robota jak wszędzie:

Fajka,
Dwójka,
Pizza z microfali,
4p

3

Jak wygląda dzień w pracy ???

Nie zgodzę się, że robota jak wszędzie. Pracuję w dużej firmie (game dev), udało mi się nakręcić taki "początek dnia naszej pracy" (przy okazji jeśli ktoś chce zostać super programistą warto sprawdzić), na nagraniu widać naszego szefa. Chciałbym pozostać anonimowy.

0

Od razu przypomniało mi się (przepraszam za offtop ;])

1 użytkowników online, w tym zalogowanych: 0, gości: 1