Można powiedzieć, że od jakiegoś czasu trwa moda na IT. Zewsząd atakują nas reklamy kursów, które obiecują z każdego zrobić programistę w tydzień. Słyszymy, jakie to kodowanie jest fajne. A ja dzisiaj, trochę przekornie, chcę Ci powiedzieć, dlaczego lepiej nie programować.
Po euforii początkującego przyjdzie kryzys
Decyzja zapadła. Będziesz programować. Robisz kurs z HTML i CSS. Czujesz, że to ogarniasz. Wiesz już, jak działa strona internetowa i myślisz sobie, że w sumie to całe programowanie to całkiem prosta sprawa. I pojawia się JavaScript i pierwsze schody. To tylko przykład, bo tak może być dokładnie z każdym zagadnieniem związanym z programowaniem. To znaczy – szybko wpadamy w euforię poznając podstawy, uczymy się fundamentów i dobrze nam idzie. Ale trudno jest wskoczyć poziom wyżej. I niestety, uważam, że kryzys, który przychodzi właśnie po poznaniu podstaw, jest nieunikniony.
Pisałam o tym więcej w artykule o kryzysach. Walka z kryzysami to nieodłączny element przy nauce programowania i potrzeba dużo samozaparcia, by wracać do kodowania po chwilach zwątpienia. To jest męczące i czasem naprawdę masz już wszystkiego dość i chcesz rzucić kod w kąt.
Twój kod ciągle nie będzie działał
Na początku mojej przygody z programowaniem usłyszałam od doświadczonego programisty, że początkującego i doświadczonego developera różni podejście do kodu, który zadziałał za pierwszym razem. Początkujący ucieszy się i będzie z siebie zadowolony, że wszystko od razu poszło dobrze. Natomiast osoba z doświadczenie podejdzie do swojego kodu podejrzliwie, bo to bardzo niecodzienne, że wszystko tak od razu działa. I bardzo możliwe, że działa, bo coś właśnie jest nie tak. I tę rzecz trzeba odnaleźć.
Myślę, że ten przykład idealnie obrazuje to, czego możemy oczekiwać od kodowania. Ciągle będą pojawiały się błędy. Mniejsze i większe, mniej lub bardziej oczekiwane. I prawdziwą sztuką jest nauczyć się podchodzić do nich metodycznie, a o to nie jest łatwe. Trudno bowiem zachować spokój, gdy nie wiadomo dlaczego coś nie działa od kilku godzin i nie mamy już pomysłu, co też może być nie tak.
Nigdy nie przestaniesz się uczyć
Im więcej czasu poświęcisz programowaniu, tym więcej rzeczy będzie trzeba ogarniać. Kolejne biblioteki, frameworki, czy narzędzia ułatwiające pracę wyrastają jak grzyby po deszczu dosłownie z każdym kolejnym dniem nauki programowania. I gdy już wydaje Ci się, że tyle wiesz i faktycznie coś już dobrze rozumiesz, pojawia się coś nowego i zaczynasz od nowa. Nieważne, czy chodzi o język czy nową wersję biblioteki.
Ciągle pojawia się coś, z czym musisz się zapoznać, by wykonywać swoją pracę. Nie zanosi się, by to miało się zmienić. Obecny postęp technologiczny i ogromnie zaangażowanie w tworzenie nowych rozwiązań dokłada nam codziennie nowe zagadnienia do nauki – nowe narzędzia, nowe wtyczki, podejścia i metodologie prowadzenia projektów. Trzeba się nauczyć za nimi nadążać, bo w przeciwnym razie łatwo wypaść z obiegu i przestać się rozwijać.
Nauka zajmie Ci ogromną ilość czasu
Gdy wciągniesz się w programowanie, możesz pożegnać się z czasem wolnym. Dodatkowo – jeśli kodujesz tylko po godzinach, możesz pożegnać się też z życiem, które prowadziłeś, czy prowadziłaś, dotychczas. Programowanie zajmuje czas. Bardzo dużo czasu. I gdy zaczyna się rozwiązywać jakąś zagadkę w kodzie, bardzo łatwo stracić poczucie czasu.
Nie raz zdarzyło mi się podnieść głowę znad komputera i zobaczyć, że właśnie niepostrzeżenie minęły 3 godziny. A gdy kolejny projekt, który tworzysz, idzie do przodu i widzisz postęp, jaki robisz, jeszcze trudniej oderwać się od kodu. To naprawdę uzależnia.
To jak? Nadal chcesz programować?
Jeśli szukasz odstresowującego hobby – to na pewno nie będzie programowanie.
Jeśli chcesz szybko i bezboleśnie zmienić pracę na taką, która zapewni Ci stabilizację i nie będzie zbyt wymagająca – programowanie to nie jest dobra droga.
Jeśli łatwo się poddajesz i nie masz ochoty ciągle z czymś walczyć – nie programuj.
Jeśli myślisz, że kilka miesięcy nauki wystarczy, by zgłębić wszystko, co związane z danym językiem programowania – lepiej odpuść sobie od razu.
Natomiast, gdy:
- lubisz wyzwania,
- niestraszna jest Ci frustracja
- chcesz się nieustannie uczyć
- podoba Ci się szukanie rozwiązań problemów
- czujesz, że odnajdziesz się w świecie, który cały czas pędzi do przodu i trzeba się bardzo starać, by za nim nadążyć
– Nie czekaj i zacznij kodować już dzisiaj! Może odkryjesz nową pasję, może pomyślisz o zmianie branży na IT, albo po prostu poćwiczysz logiczne myślenie. To jak będzie? Zaczynamy?
Jeśli myślisz o kodowaniu, ale nie wiesz, od czego zacząć – przeczytaj ten artykuł i wybierz jeden z proponowanych przeze mnie darmowych kursów.
A jak podjęłaś/podjąłeś już decyzję, że chcesz zmienić branżę na IT lub rozważasz, czy to będzie dla Ciebie dobra opcja (albo jesteś w trakcie procesu zmiany branży), koniecznie dołącz do listy osób zainteresowanych moim ebookiem o zmianie branży na IT! Już niedługo będę mogła podać Ci więcej szczegółów.
Na razie zdradzę tylko, że treść ebooka jest już prawie ukończona i zdecydowanie wyszło mi coś, co sama chciałabym przeczytać będąc na początku swojej drogi ku zmianie branży. Byłoby mi dzięki temu o wiele łatwiej planować, podejmować decyzje i radzić sobie z problemami, które napotykałam. Wiedziałabym, jak wygląda proces uczenia, jak wybierać kolejne zagadnienia do nauki i czego spodziewać się podczas rekrutacji na stanowisko juniora. Więcej nie zdradzam – zapisz się na listę, a już niedługo podeślę Ci pierwsze szczegóły.
Chcesz być na bieżąco? Zajrzyj na moje konto na Instagramie, gdzie prawie codziennie umieszczam treści związane z programowaniem, nauką i radzeniem sobie z kodowymi problemami.
Ciekawy wpis, fakt, że panuje ostatnio moda na bycie front-endowcem i szybką naukę html/css/jquery ale tak na prawdę takie szybkie kursy nie uczynią z nikogo programisty.
Nie zgodzę się tylko z jednym:
“Gdy wciągniesz się w programowanie, możesz pożegnać się z czasem wolnym. Dodatkowo – jeśli kodujesz tylko po godzinach, możesz pożegnać się też z życiem, które prowadziłeś, czy prowadziłaś, dotychczas. ”
Sam mam dwójkę małych dzieci i bez większego problemu łączę zarówno rolę taty jak i pracę programisty 🙂 Grunt to ustalenie obie priorytetów w życiu i trzymanie się ich.
Po wielu latach przerwy od tworzenia stron internetowych postanowiłam do tego wrócić. Podstawy właściwie mam, więc stwierdziłam, że zacznę kodować PSD. Wybrałam jakiś prosty plik i po dwóch tygodniach nie miałam skończonej nawet sekcji nagłówka (przy czym kilka dni zajęła mi sama animacja podkreślenia w menu).
Ale!
Satysfakcja, kiedy w końcu kod zaczął funkcjonować prawidłowo była bezcenna. 🙂 I myślę, że dla tej satysfakcji warto było nad tym siedzieć – to, że coś działa wydaje się być najlepszą nagrodą na początku drogi. I nie ma co się frustrować błędami w kodzie. Nic nie uczy tak dobrze programowania, jak praktyka.
Poza tym sęk nie w tym, żeby znać całą specyfikację kodu na pamięć, ale w tym, żeby wiedzieć jak i gdzie znaleźć rozwiązania problemu.
Warto jeszcze wspomnieć, że programowanie wiąże się z minimum 8 h siedzenia przed monitorem. Niezbyt to zdrowe zarówno dla oczu jak i kręgosłupa. Niektórym taka forma spędzania czasu może po prostu nie pasować.
Dziękuję za komentarz! Oczywiście, że wszystko jest kwestią priorytetów i zarządzania swoim czasem. Chodziło mi o to, że jak ktoś zaczyna się uczyć programowania i zakładamy, że pracuje 8h dziennie, to jak posiedzi do tego dodatkowo 2 albo 3h nad nauką kodowania – czasu wolnego zostaje dosyć mało 😉 Warto wiedzieć, że nauka programowania to nie jest coś, czego nauczymy się poświęcając temu pół godziny tygodniowo.
Tak, satysfakcja to jest właśnie coś, dla czego warto kodować 🙂 Nawet jak robimy małe postępy 🙂
Dokładnie, warto to wziąć pod uwagę. Niestety siedzenie tyle czasu przed monitorem bardzo męczy oczy i trzeba dbać o przerwy w pracy/nauce.
Świetny artykuł!
Zgodzę się, że programowanie nie jest ani łatwym, ani przyjemnym hobby. Ale ile daje satysfakcji! To znaczy: czasami ma się ochotę wyrzucić komputer przez okno (a potem samemu za nim skoczyć), ale ma się tę niesamowitą radość, gdy coś wyjdzie.
I każdy projekt i linijka czegoś uczy. Dlatego dodałabym jeszcze jeden czynnik, który różni początkującego od mistrza: czas wykonania. Po 3 latach intensywnego programowania w czasie studiów przyspieszyłam mniej-więcej 4 razy. A i tak nie programuję tak szybko, jak bym chciała.
Co do “Nigdy nie przestaniesz się uczyć”… FrontEnd najbardziej, reszta technologii mniej. Prawdopodobnie w czasie pisania tego posta został stworzony nowy framework JSa 😀 Inne języki to bardziej: “Pracuj na tym, co masz, zobacz, co się zmieniło w nowej wersji”. A o staruszkach typu COBOL to nic nie chcę mówić. A może mi się już wydaje, że to mało, bo po prostu żyję w szalonym tempie i tak samo przyswajam wszystkie informacje?
“Nauka zajmie ogromną ilość czasu” – eee. Da się ogarnąć. I mówię to jako osoba paskudnie zarządzająca swoim czasem. Uczelnia + praca + koło naukowe + chłopak + wypady ze znajomymi… Można. A mam na roku ludzi którzy to wszystko + drugi kierunek lub nauka języka obcego. Kwestia “wejścia” w ten rytm.
Aczkolwiek zgodzę się, że kodzenie wciąga. I zazwyczaj na zasadzie: “Dopiszę 2 linijki i pójdę spać… O, już 5?”
Pozdrawiam (i dziękuję za przyjęcie do grupy)
Ola B.
Dziękuję za komentarz! Zgodzę się, że wszystko jest kwestią organizacji czasu i przestawienia się na tryb “zawsze mam coś do zrobienia”. Można się do tego przyzwyczaić 😉 Ja nie mam porównania jeśli chodzi o inne języki, bo tak naprawdę miałam do czynienia tylko z technologiami front-endowymi, więc trudno mi się odnieść. A we front-endzie tempo rozwoju jest wręcz momentami zabójcze 🙂 Do zobaczenia w grupie!
Jako hobby to nawet programowanie jest super 😉 Problem pojawia się kiedy kodzi się zawodowo pare lat, ale też nie przez programowanie. Dla mnie najsłabszym elementem pracy jako programista są ludzie: nowofalowi koderzy ekstrawertycy, scrum masterzy i couche 🙂 Swoisty kult pracy. Rozmowy o pracy w czasie wolnym, meetupy koderów, robienie z rzemiosła – sztuki. Zdanie “praca dla życia, a nie życie dla pracy” zdaje się nie pasować dużej części osób z branży 🙂
I artykuł uzmysłowił mi, że jednak za mało czasu poświęcam na naukę. I idzie mi ona baaaardzo powoli. Jestem na początku swojej drogi ucząc się HTML`a i czekam na ten pierwszy kryzys. Wcale nie ze zniecierpliwieniem 🙂
Pozdrawiam
Programowalem od konca lat 90tych hobbistycznie i potem na studiach.
Moje losy zaciagnely mnie w inny segment swiata – pracuje w budownictwie. I wierzcie mi, programowanie jest frustrujace, bo czasem najprostsza bzdura trwa miliard lat w zrobieniu. Ale nie jest i nigdy nie będzie jakoś dramatycznie stresujące 😉 To generalnie dużo pracy, poświęconej na zdobywanie wiedzy i próbę jej zrozumienia. Samego klepania linijek to ile 20%?
Poza tym progrmowac czysto to pewnie skonczylismy w momencie jak powstal vi/ vim/emacs, a nastepnie git.
Teraz zeby to robic trzeba znac mase narzedzi poza samym programowaniem. Ale dalej, to jest sluchajcie tylko funkcja(twojej_pracy, czasu) nic wiecej.
Komputer jest niczym innym jak kalkulator z tranzystorem (bramką logiczną). W koncu zrozumiesz jak zrobic, zeby to on zrobil to co chcesz.
Powodzenia wszystkim przebranzawiajacym sie! 😉
Serio jest aż tak źle z czasem wolnym? Oprócz pracy zawodowej mam dodatkowo swoje hobby, treningi etc. I chciałabym się przebranżowić, ale po Twoim tekście mam poważne obawy, bo wynika, że nic innego się nie robi, tylko koduje:D
Aż tak tragicznie to nie jest 😉 Ja miałam czas, i na pracę zawodową, i na treningi. Wiadomo, że wszystko jest kwestią organizacji. Bardziej chodziło mi o to, że raczej rzadko mi się zdarza wolny wieczór z serialem albo z książką, bo po prostu mam masę nauki. I do tego bardzo mnie ta nauka wciągnęła, więc często jest lepsza od wieczoru z serialem 😉
Wydaje mi się, że to wynika z tego, że programowanie jest generalnie dość pasjonujące. I przez to przenosisz łatwo to, co robisz w pracy do życia osobistego. I potem o tym rozmawiasz i chodzisz na meetupy, wieczorem robisz jak swój projekt i tak się koło zamyka 😉
Oj kryzys na pewno przyjdzie, choć życzę, żeby jak najpóźniej! I powodzenia w nauce 🙂
E, to tak na serio? Mój mąż jest programistą, ja jestem programistką, mamy kupę kasy i masę wolnego czasu. Przebieramy w ofertach, mamy totalnie dużo życia poza. W zasadzie nie zdarzyło mi się programować więcej niż 8 h dziennie, a prawda jest taka, że wychodzi pewnie średnio z 4 h dziennie.
To co piszesz może być prawdą, ale dla mnie wygląda jak pisane, by kogoś zniechęcić. Serio dla Ciebie to było takie trudne?
Może masz masę nauki bo się zwyczajnie lubisz uczyć?
Ja kiedy zaczynałam się uczyć programowania to jeszcze zrobiłam doktorat z językoznawstwa. I dało radę…
To gratuluję, że macie i dużo czasu i dużo pieniędzy 😉 Tekst jest dla osób, które uczą się programowania, a nie miały z tym wcześniej do czynienia. Pracując 8h na etacie i ucząc się wieczorami, trudno mieć jeszcze dodatkowo wolny czas. Bardziej o to mi chodziło 🙂 Są różni ludzie, niektórzy w trakcie nauki zrobią jeszcze doktorat, a inni muszą więcej nad czymś przysiąść. I wydaje mi się, że mimo wszystko, tych drugich jest jednak trochę więcej 😉
Miałem zajęcia z programowania w technikum przez jakieś 3 lata. Z tych zajęć wyniosłem jedno: całkowitą niechęć do programowania. Jakoś przeszedłem, bo odpisywałem kod od kumpla, ale kompletnie mnie to nie bierze. I jak widzę te wszystkie oferty pracy dla programistów za niebotyczne pieniądze, to mam jakieś poczucie winy. Że nie skorzystałem ze swojej szansy i nie stałem się maniakiem programowania (tylko maniacy klepiący te swoje szlaczki 12h/dobę są w cenie). Chciałem nauczyć się programowania “od nowa”. Ale jest to dla mnie po prostu nudne, czasochłonne i frustrujące, więc uznałem, że nie będę tego robił na siłę.
Jak widzę nawet najmniejszy fragment kodu, przechodzą mnie ciarki, bo pomimo nauki ciągle są to dla mnie jakieś nieczytelne szlaczki. A programiści urośli dla mnie do rangi kosmitów i kompletnych freaków. Zazdroszczę im, ale wiem, że nie dam rady być jednym z nich.
Programowanie na pewno nie jest dla każdego, nie każdemu podpasuje ten sposób pracy czy spędzania czasu. To zupełnie tak, jak ze wszystkimi innymi zajęciami 😉 Dlatego wg mnie nie warto się zmuszać, jak tego zupełnie nie czujesz. Chyba że bardzo chcesz coś robić w tym kierunku, wtedy warto spróbować raz jeszcze. Może inny język? Inny sposób nauki? Kto wie, może kolejne podejście będzie bardziej owocne. Trzymam kciuki i pozdrawiam! 🙂
Dzięki! Znajduję się bardziej w muzyce (gram na gitarze i perkusji, sam się uczę), ale zauważam pewną analogię: wszystko drobnymi kroczkami, powoli i do przodu. Nie napiszesz od razu skomplikowanego programu czy fajnej gry, tak samo, jak nie zagrasz od razu porażającej solówki. Trzeba czasu po prostu czasu i uporu. Różnica jednak jest istotna: granie na gitarze jest dużo ciekawsze niż klepanie kodu 😀
To gratuluję jesteście geniuszami 🙂 mimo ukończonych studiów z informatyki i 8 lat w branży nadal mam czego się uczyć, tak jak inni z którymi pracuję. Bardziej prawdopodobne jest to, że autorem komentarza jest ktos powiazany z branżą szkoleniową lub robieniem stron na “wordpresie”. Technologia zmienia sie caly czas, jedynie teorie, na ktorych bazują są w miare stałe. Autorka bloga napisała smutną prawdę, kto staje w miejscu ten ma z czasem problem z pracą.
Strata czasu 🙂 Strony internetowe za kilka lat nie będą nikomu potrzebne..
Programowanie to matematyka i algorytmy oraz sposób myślrnia. Sama nauka to za mało albo masz tę umiejętność albo nie.
Dwa fullstacki.
Plus pragnę zwrócić uwagę, iż jest to 3 firma, w której pracujemy i nasi koledzy nie uczą się po pracy. Wszyscy robimy to w pracy i praktycznie każdego dnia uczymy się z tutoriali, ze SOF, ale po pracy nie:)
Spróbujcie sobie. Każdy może zostać spawaczem, stolarzem, elektrykiem, mechanikiem, kierowcą tira, programistą. Pytanie tylko: Ile lat jesteś w stanie to robić x godzin dziennie?
Front end Developerem zostają często ludzie z łapanki. Zanim się obejrzycie to w rok – 3 lata z euforii przejdziecie do wypalenia zawodowego przez nudne projekty, beznadziejnego szefa, firmy. Uczcie się poważnych rzeczy, a nie jakiegoś html i css – to znudzi się wam szybciej niż myślicie. Co innego z Backend Developerami bo to często ludzie pasjonaci.
Wydaje mi się, że takie uogólnienie jest zdecydowanie nie na miejscu. Nie wiem skąd pomysł, że backend developer to na pewno człowiek z pasją, a front-end developer jest z łapanki. Polecam spojrzeć na świat trochę bardziej przychylnym okiem i nie wygłaszać wszechwiedzących opinii. Uważam, że każda rzecz może się znudzić albo nie znudzić po 3 latach 😉 Pozdrawiam!
Mam 64 lata. Dawno temu miałem drobny epizod związany z programowaniem i żałuję, że wówczas się tym nie zająłem. Obecnie rozważam zająć się programowaniem na poważnie, ale zastanawiam się czy to ma sens. Czy w tym wieku można jeszcze być użytecznym w tej dziedzinie. Może istnieje jakiś aspekt programowania, w którym mógłbym się wyspecjalizować i być przydatnym. Będę wdzięczny za szczerą radę, tym bardziej, że również mój kolega w podobnym wieku także nad tym się zastanawia.
Hej
Wydaje mi się, że jednak podejście “Done is better than perfect” jest lepsze
Moim zdaniem frazesy o szukaniu błędu w poprawnie działającym kodzie są podejrzane
Zawsze coś może pójść nie tak i jakbyśmy chcieli na prawdę temat zgłębić, to byśmy musieli cały system zdebugować, by mieć pewność czy dana funkcja w 2053 się nie wykrzaczy
Pozdrawiam myslących
Bogdan, może naucz się konkretnego systemu informatycznego w danej firmie i go rozwijaj. Możesz znaleźć systemy na github, z domu możesz nawiązać kontakt z rozwijającymi i od nich szybko się nauczysz. I znajdź firmę, która korzysta z tego systemu – może będziesz mógł im pomóc.
Nikt nie mówił ze będzie pięknie 🙂 ale no taka prawda pierwsze miesiące sa mega bo wiedzy jest tak duzo i jest na takim poziomie ze wszystko działa, jednak etap kiedy naprawdę trzeba usiąść i obejść problem może wiele osób zniechęcić a co za tym idzie przerwa dzień > tydzień > czasami miesiąc > najgorsza cześć 🙂 nie róbmy przerw lepsze 30min niz tydzień przerwy.
Ale ja po pracy 8h przed monitorem wracam do domu 1h odpoczynku i dalej do 5h 🙂
A na backendzie jesteś gościem, który nie widzi nic poza kodem, bo robisz tylko kod, a na końcu najczęściej stoi rest – taka dzisiaj już jest architektura. Ewentualnie zrobisz trochę zapytań do bazy. Więc cały czas masz jedyny rezultat w danych albo liczbach. Yeah, świetny jest ten backend! 😛 Żeby nie było – frontend też nie jest lepszy, bo prawda, że z reguły robią to ludzie po kursie weekendowym- chociaż taki specjalista z Angulara to już jest coś.
hmm.. chyba nie tylko to, że jest pasjonujące. Po prostu to kwestia w ogóle podejścia do pracy. Dla jednych praca to tylko praca i nic więcej, nieważne co w zasadzie będę robić, byle mieć się za co utrzymać, a dla innych będzie to kwestia ważna i poważna w tym sensie, jak pewnego rodzaju misja, powołanie. Jest mi zdecydowanie bliżej do tego drugiego stanowiska, ponieważ uważam, że bez sensu jest robić coś przez 8 godzin co.. nijak ma się do mojej osoby (tj, predyspozycji, pragnień, marzeń, oczekiwań itp.). Uważam to za zwykłą stratę czasu, a dokładniej 1/3 dnia i.. 1/3 życia. Nie zawsze jest oczywiście możliwość, żeby na dany moment praca była dla człowieka i zgodna z nim. Ale jakoś nie wyobrażam sobie, żeby całe życie spędzić w czymś, co mnie nie interesuje, tylko po to by zarobić pieniądze…