Ciężkie życie programisty

5

Mówi się w mediach, jak to informatycy mają dobrze. Niektórzy wyrażają nawet opinie, że niewiele robią a kasę biorą.
Chciałbym poruszyć jednak istotną kwestię.
Pominę takie rzeczy, jak kręgosłup i oczy. W dzisiejszych czasach bardzo wiele zawodów łączy się z obciążeniem tych dwóch rzeczy.
Ale chodzi mi o to, że to, co jest przez pewien czas pasją, powoli przestaje nią być. Zauważyłem to po sobie, choć nie mam jeszcze żadnego doświadczenia zawodowego.
Chodzi mi o to, że początki są znacznie ciekawsze. Człowiek bawi się różnymi bajerami, testuje wiele rzeczy, robi to na co ma ochotę. Z czasem, w celu zyskania wiedzy potrzebnej do pracy, zagłębia się w zagadnienia coraz mniej go interesujące. Mam na myśli np. bazy danych, i ogólnie całe te Enterprise. Oczywiście to co mówię dotyczy np. mnie i dlatego zakładam wątek, by usłyszeć przemyślenia innych.
Kolejna sprawa to, że zabiera to masę czasu. Nie mówiąc o trudnej matmie na studiach, całą pracę w zakresie samorozwoju programista musi wykonać sam. Studia i uczenie się na zajęcia nie dadzą nic na rynku pracy. O ile w takiej medycynie też jest masa roboty, o tyle tam ważne jest by zdać egzaminy. Na studiach informatycznych trzeba mieć jeszcze wewnętrznego stróża, przewodnika, który będzie zachęcał/zmuszał do rozwoju.
Kolejna sprawa która mnie nurtuje, dotyczy pracy. Większość robót z tego co słysze, dotyczy utrzymywania starych, c**** napisanych systemów i debuggowania różnych różności. Nie jest to praca bynajmniej twórcza, a raczej męczenie się z problemami. Każdy chyba widzi różnice między zaplanowaniem aplikacji i napisaniem po swojemu na zaliczenie a poprawianiem czyiś błędów, po zrozumieniu jego sposobu myślenia.
Potem, programista poświęca, po godzinach pracy, czas, na samorozwój. Bo wszystko idzie do przodu i znowu nie chce się obudzić z ręką w nocniku. Musi uczyć się po to, by jak rozwiąże umowę z firmą w której pracuje, był wciąż kimś na rynku pracy. Przez kilka lat pracy gdzieś można być nieźle do tyłu, jeśli praca nie była zbytnio rozwijająca. Doświadczenie może wtedy być jedynie punktem w CV a nie faktyczną wiedzą.

Piszcie co myślicie, jak to u was wyglądało :P

6

Mówi się w mediach, jak to informatycy mają dobrze. Niektórzy wyrażają nawet opinie, że niewiele robią a kasę biorą.

Nie spotkałem się jeszcze z takim stwierdzeniem, ludzie raczej uważają, że informatyka to ciężka dziedzina.

Ale chodzi mi o to, że to, co jest przez pewien czas pasją, powoli przestaje nią być. Zauważyłem to po sobie, choć nie mam jeszcze żadnego doświadczenia zawodowego.
Chodzi mi o to, że początki są znacznie ciekawsze. Człowiek bawi się różnymi bajerami, testuje wiele rzeczy, robi to na co ma ochotę. Z czasem, w celu zyskania wiedzy potrzebnej do pracy, zagłębia się w zagadnienia coraz mniej go interesujące.

To się w zasadzie tyczy wszystkich zawodów. Programista i tak ma niezłe pole manweru bo może programować dla różnych dziedzin - np. pisać soft na urządzenia mobilne, do obliczeń fizycznych, dla inżynierów, etc. Przy każdym projekcie trzeba trochę poznać dziedzinę dla której się programuje więc zawsze jest jakieś urozmaicenie.

Mam na myśli np. bazy danych, i ogólnie całe te Enterprise. Oczywiście to co mówię dotyczy np. mnie i dlatego zakładam wątek, by usłyszeć przemyślenia innych.

Jeżeli nie interesuje Cię enterprise to nie idź w kierunku enterprise, wybierz jakąś inną działkę programowania.

Kolejna sprawa to, że zabiera to masę czasu. Nie mówiąc o trudnej matmie na studiach, całą pracę w zakresie samorozwoju programista musi wykonać sam. Studia i uczenie się na zajęcia nie dadzą nic na rynku pracy. O ile w takiej medycynie też jest masa roboty, o tyle tam ważne jest by zdać egzaminy. Na studiach informatycznych trzeba mieć jeszcze wewnętrznego stróża, przewodnika, który będzie zachęcał/zmuszał do rozwoju.

Lekarz aby zostać lekarzem musi zdać egzaminy - a na uczelni też wymagają od niego bezsensownej wiedzy. Programista w zasadzie nie musi kończyć żadnej uczelni, żeby być programistą co jest znacznym plusem w stosunku do zawodu lekarza.

Kolejna sprawa która mnie nurtuje, dotyczy pracy. Większość robót z tego co słysze, dotyczy utrzymywania starych, c**** napisanych systemów i debuggowania różnych różności. Nie jest to praca bynajmniej twórcza, a raczej męczenie się z problemami. Każdy chyba widzi różnice między zaplanowaniem aplikacji i napisaniem po swojemu na zaliczenie a poprawianiem czyiś błędów, po zrozumieniu jego sposobu myślenia.

Utrzymanie oprogramowania może być całkiem satysfakcjonujące, trzeba sobie wyrobić tylko odpowiednie podejście. Ale to zupełnie inny temat.

Generalnie nigdy idealnie nie będzie, każdy zawód ma swoje minusy. Dałeś przykład lekarza to może pociągnijmy to:

  • studia trwają 6 lat, na wakacjach trzeba jeszcze odbywać praktyki za darmo w szpitalach. Potem jest staż dwuletni na którym zarabia się śmiesznie mało (koło 2k netto z tego co mi kolega na medycynie mówił). Na pracę w zawodzie podczas studiów nie ma szans. Jak odbywasz staż to np. jest bardzo ciężko zmienić miasto więc jesteś uwiązany do jednego miejsca.
  • po stażu trzeba wybrać specjalizację, która trwa 4-6 lat i wtedy też w zasadzie jesteś uwiązany do jednego miejsca. Zarabiasz trochę więcej ale też bez szału 4k-5k netto z tego co pamiętam.
  • po specjalizacji powinno już być z górki, ale przyjrzyjmy się jak wygląda praca lekarza. Jak wyspecjalizowałeś się w pochodnych interny to stykasz się cały czas z nudnymi przypadkami (a to grypa, a to alergia, jakieś inne choroby cywizlizacyjne), w 90% przypadków przepisuje się te same leki. Robota dobra dla tresowanej małpy. Jak chcesz mieć trochę 'wrażeń' i. wyspecjalizowałeś się np. w intensywnej terapii to możesz łatwo się wypalić gdy na stole umiera ci któryś z rzędu pacjent, albo w onkologii jak musisz powiedzieć pacjentowi w twarz ile mu jeszcze zostało życia.
  • możliwości zmiany kraju są ograniczone - przykładowo, żeby pracować w USA trzeba zdać specjalny egzamin, który mocno różni się od tego polskiego. Inne procedury, inne prawo etc.

Dla kontrastu:

  • Studia informatyczne trwają 5 lat, ale możesz też zakończyć na licencjacie to wtedy trwają 3.5 roku, albo w ogóle nie musisz ich kończyć, żeby pracować w zawodzie. Masz możliwość pracy na studiach, możesz też sobie przejśc na zaoczne i pracować na pełny etat.
  • Jak masz ambicje to znajdziesz ciekawą pracę, jak chcesz odbębnić 8h przy niewymagającej robocie za godziwe pieniądze to też są takie możliwości. Wynagrodzenie znacznie lepsze niż w przypadku lekarzy przynajmniej na początku kariery.
  • można wyjechać w zasadzie do dowolnego kraju. Jak lubisz podróżować to wybierasz firmę, która robi wdrożenia w różnych krajach. Jak wolisz siedzieć na miejscu to też są firmy, które to zapewnią.
1

Kolejna sprawa która mnie nurtuje, dotyczy pracy. Większość robót z tego co słysze, dotyczy utrzymywania starych, c**** napisanych systemów i debuggowania różnych różności. Nie jest to praca bynajmniej twórcza, a raczej męczenie się z problemami. Każdy chyba widzi różnice między zaplanowaniem aplikacji i napisaniem po swojemu na zaliczenie a poprawianiem czyiś błędów, po zrozumieniu jego sposobu myślenia.
Święta racja :) to zdecydowanie nie służy rozwojowi, chyba że w kierunku "wyszukaj informacje nt. dziwnego błędu w google, popraw i tak w koło macieju".

1

Potem, programista poświęca, po godzinach pracy, czas, na samorozwój. Bo wszystko idzie do przodu i znowu nie chce się obudzić z ręką w nocniku. Musi uczyć się po to, by jak rozwiąże umowę z firmą w której pracuje, był wciąż kimś na rynku pracy. Przez kilka lat pracy gdzieś można być nieźle do tyłu, jeśli praca nie była zbytnio rozwijająca. Doświadczenie może wtedy być jedynie punktem w CV a nie faktyczną wiedzą.

Jeszcze tylko to skomentuje. Jeżeli ktoś nie ma ochoty uczyć się nowych technologi to może sobie wybrać jakiś język typu COBOL i siedzieć na maitenancie do końca życia za przyzwoitą kasę w jakimś banku. Pytanie tylko czy na pewno chce się tak ograniczać.

10

Imho programiści są podobni do poetów, życie prawdziwego programisty to podobnie jak w przypadku poety twórcze pisanie dzieł, różnica taka, że jak poeta napisze coś dobrego to nadal przymiera głodem lub wpierw popełnia samobójstwo, a taki programista najczęściej jest w stanie ze swojej pracy coś do gara wrzucić i conajwyżej popełni samobójstwo w późniejszym terminie.

Moja rada taka, jak nudzi cię klepanie tego samego w kółko to zostań swoim własnym szefem, stwórz produkt i zacznij na nim zarabiać, gwarantuje Ci nieprzespane noce, garba, ślepote, nerwice na widok dzwoniącego telefonu i zajebistą satysfakcje, że ktoś chce używać twojego softu :)

4

Chyba się nie zgodzę z autorem tematu, prawie każdemu komu mówię, że studiuję Informatykę to dostaję odpowiedź: "Trudny kierunek studiów sobie wybrałeś".

7

Chodzi mi o to, że początki są znacznie ciekawsze. Człowiek bawi się różnymi bajerami, testuje wiele rzeczy, robi to na co ma ochotę. Z czasem, w celu zyskania wiedzy potrzebnej do pracy, zagłębia się w zagadnienia coraz mniej go interesujące. Mam na myśli np. bazy danych, i ogólnie całe te Enterprise. Oczywiście to co mówię dotyczy np. mnie i dlatego zakładam wątek, by usłyszeć przemyślenia innych.

No nie wiem, czy ktoś kto ma pasję do programowania może kiedykolwiek się tym znudzić... Przecież ta pasja wynika bezpośrednio (no przynajmniej u mnie) z chęci rozwiązywania problemów połączonej z lenistwem. Nigdy nie przestanę być leniwa, szczerze wątpię, bym kiedykolwiek tak po prostu pogodziła się z problemami i chęć ich rozwiązywania mi przeszła...

Kolejna sprawa to, że zabiera to masę czasu. Nie mówiąc o trudnej matmie na studiach, całą pracę w zakresie samorozwoju programista musi wykonać sam. Studia i uczenie się na zajęcia nie dadzą nic na rynku pracy. O ile w takiej medycynie też jest masa roboty, o tyle tam ważne jest by zdać egzaminy. Na studiach informatycznych trzeba mieć jeszcze wewnętrznego stróża, przewodnika, który będzie zachęcał/zmuszał do rozwoju.

No już bez przesady, studia informatyczne nie są takie strasznie trudne (skoro nawet ja dałam radę).
Co do samorozwoju, to z definicji robi się go samemu. Lekarz, prawnik, też muszą się rozwijać, bo świat się zmienia, technologia się zmienia, prawo się zmienia. Nie tylko programiści muszą się dokształcać.

Kolejna sprawa która mnie nurtuje, dotyczy pracy. Większość robót z tego co słysze, dotyczy utrzymywania starych, c**** napisanych systemów i debuggowania różnych różności. Nie jest to praca bynajmniej twórcza, a raczej męczenie się z problemami. Każdy chyba widzi różnice między zaplanowaniem aplikacji i napisaniem po swojemu na zaliczenie a poprawianiem czyiś błędów, po zrozumieniu jego sposobu myślenia.

Ile ja się nauczyłam, na starym, c**** napisanych sofcie... Rzeczy, które widziałam...
Z resztą dobrze jest przy okazji takiego softu brać sprawy w swoje ręce i forsować jego rozwój lub wyeliminowanie.

Wracając jeszcze do samorozwoju powiem tak - jak się nie rozwijasz, to małpa z ciebie i tyle. W każdym zawodzie. Albo będzie z ciebie code monkey, albo małpa od składania cheesburgerów, albo jakaś inna małpa, wyuczona schematów i odruchów. Znam i programistów, co tak właśnie lubią (8h małpienia i do domu).
Ja spokojnie wyrabiam przynajmniej dodatkowe pół etatu na samorozwoju, a zdarzają się miesiące, że i drugi etat pyknie (wiem to stąd, że notuję sobie czas spędzany nad projektami w redmine - jak potem na to patrzę to czasem się za głowę chwytam). I tak mam wrażenie, że to mało (oceniając po postępach).

Podsumowując - warto. Nie tylko ze względu na pieniążki (a są dobre), ale również dlatego, że ja CHCĘ się uczyć, CHCĘ się rozwijać, i chcę to robić całe życie, bo to jest właśnie życia wg mnie. Kiedy przestajesz się dokształcać, to już jesteś stary...

5

Jeśli chodzi o jakość kodu to uważam iż:

  • każdy kod jest kiepski dla jakiegoś programisty,
  • jeśli rozwijamy swoje umiejętności to coraz więcej kodu staje się dla nas kiepsko napisane, nawet nasz własny stary kod,
  • jeśli się nie rozwijamy to zachodzi w zasadzie sytuacja odwrotna - nie rozumiemy dobrych wzorców programowania, więc nie przejmujemy się tym,

Ponadto strategia waterfall, czyli najpierw zaprojektowanie systemu od początku do końca na kartce, a potem implementowanie nie sprawdza się. Zawsze w trakcie wychodzą jakieś problemy. Dlatego pojawia się moda na techniki zwinne. Ale ta moda nie jest jakoś mocno rozpowszechniona, a na pewno nie w starych projektach. I właśnie (często całkowicie nieuzasadniony) sprzeciw menedżerów wobec poważniejszych refaktoryzacji jest problemem, który powinno się zwalczyć, a nie to, że programiści nie piszą od razu idealnego kodu.

0

Wibowit, niezgadzam sie z opinia co do waterfalla, w wiekszosci projektow faktycznie nie ma sensu, ale zauwaz ze jest pewna specyficzna dzialka projektow, olbrzymie, skomplikowane, zwiazane z bezpieczenswem, trwajace nieraz nawet kilka lat, z budzetami wysokosci wielu milionów dolarów, dla wojska, NASA, Policji itp (mowie o USA) i tam z jakiegos powodu uzywany jest waterfall. I o dziwo te systemy powstaja i pozniej dzialaja praktycznie bezblednie. Aczkolwiek faktycznie jesli wychodza problemy, cos trzeba zmienic itp. to koszt idzie w tysiace dolarow. Jednak jest jedna wielka zaleta, w granicach deadline'u z bardzo duzym prawdopodobienstwem otrzymuje sie dzialajacy system.

Co do braku refaktoryzacji, czasami stary kod po prostu dziala, byl juz wielokrotnie przetestowany, nie sprawial problemow, wtedy jesli nie planuje sie zmian funkcjonalnych najzwyczajniej w swiecie nie oplaci sie go refaktoryzowac, co innego np. gdy sa planowane wieksze zmiany w jakims kawalku, wtedy czasem warto sie zastanowic nad przepisaniem go.

Fajny post na ten temat: http://craftedsw.blogspot.com/2012/08/the-best-approach-to-software.html

Za to zgadzama sie ze jesli to jest kolejna aplikacja CRUD, strona webowa itp. to mozna to zrobic szybciej i taniej uzywajac innych metodyk, np. Agile wtedy sie potrafi doskonale sprawdzic.

0

Dzięki za odpowiedzi. Co do niektórych rzeczy - mogę się zgodzić. Przeraża mnie natomiast post @aurel. powinnaś przystopowac. Tzn w sumie to Twoja sprawa ale jeśli takie są koszty bycia programista i zarabiania tych 4 klocków to ja nie wiem czy warto. Nie wiem czy nazwiecie mnie code monkey ale nie chciałbym spędzać przy ekranie zbyt dużo. Nie dlatego, że nie lubię się rozwijać. Ale mam też inne zainteresowania i nie chce stać się niewolnikiem czegokolwiek. Lubię zdrowy tryb życia, czyli chce w nim znaleźć czas dla sportu niekoniecznie kosztem nieprzespanej nocy. 12h w porywach do 15... Słodki jezu.to trzeba być naprawdę na maksymalnych obrotach.

9

@ubuntuser, ja również mam różne inne zainteresowanie. Jeszcze przerażę cię dodatkowo - na nie również znajduję czas >:] Mało tego czasu, to prawda, strasznie mało. Ale przecież nie programuję (po pracy) absolutnie codziennie, poza tym mamy jeszcze weekendy. Także spokojnie, i czas na odpoczynek się znajduje ;)

Kluczem tu jest fakt, że ja zwyczajnie lubię, to co robię - i kiedy ty rozwiązujesz kolejne sudoku, ja odpalam kolejny projekt. IMHO nie mam na tym starty.
Lubię też życie na maksymalnych obrotach, tylko wtedy czuję, że żyję pełnią życia, że wyciskam z niego co się da.

Tzn w sumie to Twoja sprawa ale jeśli takie są koszty bycia programista i zarabiania tych 4 klocków to ja nie wiem czy warto.

To nie są koszty bycia programistą, znam wielu, którzy po pracy uznają, że już mają wolne od myślenia.
IMHO zdecydowanie warto stawiać na rozwój, ale ja zarabiam grubo ponad 4k. Może właśnie dlatego? ;)

edit:
I jeszcze jedno powiem. Jak pracowałam w McD, to spędzałam 12h dziennie w pracy (rzadko kiedy mogłam ze względu na studia dzienne, więc upychali mi wszystkie możliwe godziny na raz). Po takiej 12stce nóg nie czujesz, niby chodzisz, ale od bioder w dół masz tylko ból podczepiony do bólu, a nie mięśnie i stawy. Zarabiałam strasznie mało, więc po pracy musiałam jeszcze 20-30 minutowy spacer do domu zrobić (nie było na bilet). I jak wróciłam do domu to i tak trzeba było jeszcze zrobić projekty na studia.
I co? I dało się.
Teraz mam siedzącą pracę, przychodzę kiedy chcę, wychodzę kiedy chcę, mogę iść siku bez pytania... Gdybym po pracy rozkładała się na kanapie i odpoczywała, to by było jak obelga wobec tej dawnej mnie. Ona mogła zapierdalać (naprawdę zapierdalać), a ja co? Teraz moja praca to sama przyjemność.

Szanujcie to co macie. Większość ludzi jednak musi naprawdę zapierdalać po 12h dziennie i to dlatego, że muszą, a nie dlatego, że na bani mają. Ci ludzie dostają za to naprawdę marne grosze, a 4 klocki to dla nich niewyobrażalna kwota.
Jak nie będziecie szanować swojej pracy i rozwijać się, to kiedyś przyjdą młodsi, energiczniejsi, chętni do nauki i was wygryzą ze stołków, a wy pójdziecie pracować do McD albo na kasę do Biedronki.

3

Praca po pracy, albo jak kto to nazwie - programowanie po pracy programisty to coś co jest naturalne, ale nie do przesady.
Według mnie 4 godziny programowania po pracy to jednak trochę za dużo, chociażby dlatego, że w czasie wolnym od pracy mam żonę, z którą pragnę spędzać czas, a nie siedzieć przy IDE i pisać kod.

Jednocześnie jednak po pracy rozwijam kilka moich projektów i siedzę przy nich np z 2 godziny w ciągu dnia po pracy. W weekendy zaś z 4 godziny.

Wszystko jednak zależy od tego, kto jakie ma priorytety. Dla mnie najważniejsza jest rodzina, a pisanie kodu tylko w pracy nie oznacza "monkey codera".
Pisanie kodu w pracy przez 8 godzin nie oznacza klepania kodu. Wszystko zależy od firmy, być może Aurel pracuje w firmie gdzie kod się zwyczajnie klepie bezmyślnie i faktycznie nie ma w tym żadnego rozwoju.
Ja jednak mam to szczęście, że pracuję w firmie gdzie nad kodem się siedzi. Wiele już u nas było łebków co kod pisali niedbale i miejsca nie zaznali tu długo, bo w pracy należy się starać i w moim przypadku 8 godzin pisania w pracy to nie klepanie małpiego kodu, ale faktyczny rozwój i praca nad estetycznym i czystym kodem.

Poza tym moja praca dodatkowo polega na tym, że codziennie dowiaduje się czegoś nowego, bo właśnie to ,mnie kręci. Ja nie muszę siedzieć 4 godziny po pracy i czytać nowych artykułów itd, bo rozwój w podobnym stylu mam właśnie w pracy.

Według mnie jeśli ktoś uznaje 8 godzin w pracy za klepanie kodu, to w rzeczywistości ma pecha pracować w bardzo złej firmie, która nie rozumie czym jest programowanie. Sztuką jest znaleźć pracę tam gdzie programistę się szanuje i rozumie, że można poświęcić nawet kilka tygodni dłużej nad projektem, ale jakość oprogramowania będzie dużo większa.

Krótko mówiąc - da się rozwijać w szybkim tempie pracując tylko 8 godzin i dodatkowo troszkę pisząc w domu. Dzięki temu można spokojnie spać 8 godzin na dzień, spędzać czas z rodziną , rozwijać hobby i zarabiać sensowne pieniądze w dobrze rozwijającej się firmie.

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