Co powiedziałabym sobie zaczynającej naukę programowania?

By 14 lipca 2017Motywacja, Think Big

Gdzieś pomiędzy lipcem a sierpniem, mija 3 lata odkąd podjełam decyzje o zmianie branży. Każdy dzień, projekt, firma, zespół to nowe doświadczenia, które w ogólnym przypadku jeszcze mocniej utwierdzają mnie w przekonaniu, że podjęłam słuszną decyzję i IT to moja działka. Niemniej, te 3 lata dały mi też zupełnie inne spojrzenie na pracę, naukę i czerpanie satysfakcji z programowania. Dlatego, w dzisiejszym wpisie znajdziecie rady, jakich udzieliłabym sobie na samym początku programistycznej drogi.

Jesteś dzielna, odważna i możesz być z siebie dumna.

Może nie brzmi to jak rada, ale to chyba pierwsze, co przychodzi mi do głowy. Że warto siebie doceniać już od samego początku. Że podjęcie decyzji o zmianie branży, to wzięcie sporego ryzyka. Że codzienna nauka, nawet jeśli jest malutkim kroczkiem, to z drugiej strony trenuje samozaparcie, systematyczność i sumienność – tak ważne w naszej branży. I, że każdy mały sukces jest bardzo, bardzo ważny. Na początku swojej kariery bardzo surowo podchodziłam do swoich umiejętności, porównywałam się do innych, szukałam, jak dużo brakuje mi do zostania „seniorem”. Często zamiast motywacji przynosiło to smutek. Dziś, patrząc już znacznie pewniej na swoje umiejętności, a także, pracując na codzień z osobami mniej doświadczonymi dostrzegam, jak różny może być i poziom, i podejście do rozwoju. I cieszę się ,i doceniam, że robiłam (i nadal robię) swoje, śmiało wyznaczając cele i skrupulatnie je osiągając. A zamiast oglądać się na innych, skupiam się na sobie i tym, co mogę zrobić dla siebie, czy dla swojego zespołu.

Nie bój się popełniać błędów. 

Pierwsze chwile z kodem były naprawdę niezłą udręką :) A mam tu głownie na myśli lęk, że coś się nieskompilowało (proszę, początkujący przeczytajcie ten wpis i weźcie sobie te kroki do serca :)), albo, że nie działa jak powinno. Albo uczenie się pracy z IDE i ta niepewność, co się pojawi, jak kliknę w podkreślony błąd. A przecież kod nie gryzie, głupie błędy można naprawić, a ich rozwiązanie zapamiętać. I nic złego w tym, że jest się kompletnym żółtodziobem. Choć w przypadku zmiany kariery może to być dość paraliżujące – wchodzenie, już jako dorosły, na zupełnie obcy grunt. Z drugiej strony warto mieć tę świadomość, że dzięki temu, że robimy to z własnej woli i wyboru, daje nam również „fory”, a my sami powinniśmy lepiej umieć się uczyć, czy motywować do działania.

Musisz pytać, dociekać, szukać! 

Programowania nie da nauczyć się z głowy. Nie wpadniesz genialnie na pomysł jak działa dana biblioteka, albo jakiej konkretnie metody użyć. Trzeba szukać! Pytać. StackOverflow przyjacielem każdego programisty. Podobnie jak seniorzy i inni programiści w zespole, a także twórcy w sieci. Nie ma nic złego w zadawaniu pytań. Nie ma głupich pytań. Są te zadane nieprecyzyjnie, na które nawet największe guru programowania nie będzie znało odpowiedzi. Skuteczne wyszukiwanie rozwiązań problemów to chyba jedna z najbardziej prakrycznych umiejętności każdego programisty. Im wcześniej, zamiast nie działa, będziesz w stanie powiedzieć, co dokładnie źle robi twój kod (logi/debugowanie/dokłane odtworzenie czynności, które prowadzą do błędu) tym szybciej dostaniesz odpowiedź, a także lepszej jakości ona będzie.

Idealny projekt nie istnieje.

Zawsze będzie coś, co nie będzie pasować, ba twoje oczekiwania będą się zmieniać i to, co przeszkadzało wcześniej, może być tym czego najbardziej Ci teraz brakuje. W każdym projekcie szukaj czegoś, co da Ci rozwój. Nawet jeśli wiesz, że za niedługo będziesz szukać czegoś innego. Pracuj z ludźmi, staraj się dawać z siebie jak najwięcej, trzymaj się swoich standardów, próbuj zachęcać do zmian i dobrych praktyk. Nie daj się porwać marazmowi, niskiej jakości, klepaniu kodu – skup się na tym, by mimo przeszkód „zły projekt” również Cię czegoś nauczył.

Baw się dobrze! 

Działaj, ucz się, twórz, udzielaj. Miej fun. Dużo funu. Już za niedługo, jak tylko opanujesz te podstawy zobaczysz, że programowanie to była najlepsza decyzja zawodowa jaką mogłaś podjąć! Blog, społeczności, projekty, hackatony, konferencje – jest tyle fajnych rzeczy do zrobienia. A samo tworzenia oprogramowania, jak i ciągła nauka i rozwój, które z nim idą to fantastyczna sprawa!

Tak właśnie wyglądało by moje przesłanie do mnie, trochę bardziej niepewnej i początkującej. A ty co powiedziałabyś sobie na początku kariery? Śmiało pisz w komentarzach, niech ten wpis doda energii wszystkim, którzy właśnie są na tym etapie.

  •  
  •  
  •  
  •  
  •  
  • Daniel

    Przede wszystkim, na początku drogi najważniejsza jest cierpliwość w stosunku do siebie. Dobrze wymagać od siebie, ale jeśli to w danej chwili Cię dołuje to czy ma to jakikolwiek sens? Jesteś człowiekiem, błądzisz, każdy ma swój indywidualny czas potrzebny na zrozumienie. Bądź dla siebie partnerem, nie srogim Panem z batem. Codzienna, systematyczna praca – swoim tempem. A uwierz mi, że ani się zorientujesz jak będziesz się oglądać wstecz za poziomem, który wcześniej mogłaś oglądać tylko przez lornetkę.

    • :)

    • Saracen

      Ja pamietam jak 12 lat temu rzucalem ksiazkami po scianach uczac sie C, zaglebiajac sie we wskazniki do wzkaznikow do innych wskaznikow, zeby to zrozumiec, cierpliwosc i dystans to jedyna droga ratunku w programowaniu.

  • areku.san

    Bardzo dziękuję Ci za ten wpis, świetna strona :) Podjęłam decyzję o zmianie branży w tym roku, długo biłam się z myślami czy warto ryzykować, wszystko mam już poukładane, kredyt hipoteczny na głowie, wymagania ciągle rosną a obecna praca nie sprawia mi radości, czasem nie mam czasu na sen, ale ile można żyć od wypłaty do wypłaty bez satysfakcji z pracy zawodowej? Latka lecą i nie można się oszukiwać, praca to nie tyko praca, pochłania większą część życia.
    Zaryzykowałam na razie jestem na początku drogi ale mam nadzieję, że uda mi się osiągnąć cel :) Małymi kroczkami do przodu :)

    Zastanawiałam się nad kursem javy np. organizowaną przez SDA (software development academy), czy ktoś może wypowiedzieć się na temat tych szkoleń czy warto?

    • Bugiel Marek

      Co prawda nie wiem nic o SDA, ale wiem co nieco o zaczynaniu nauki JAVY (i programowania w ogóle). Polecam zacząć od tutoriali Johna z Cave of Programming, z yt. Oczywiście pod warunkiem, że nie jest się na bakier z angielskim, w przeciwnym razie nauka angielskiego powinna iść równolegle do nauki programowania (w moim odczuciu), bo angielski jest niezbędny. Ja ucząc się korzystam w wielu źródeł, niektóre tutoriale/artykuły/książki/fora opisują zagadnienie/problem lepiej, dogłębieniej od innych – np. tutorial ww. Johna o Singleton Pattern jest dość mizerny, za to Ranjith ramachandran na yt ujmuje problem z wielu perspektyw, taki tutorial wsparty rozdziałem z książki GoF pozwala mieć jako taką wiedzę o Singletonie. Problem tak naprawdę jest selekcja materiałów, bo nikt nie przerobił wszystkich tutoriali nie przeczytał wszystkich książek, nie zaglądnął do każdego bloga, żeby móc udzielić odpowiedzi, dwa, często sprawa jest subiektywna, jedni wolą wideo tutoriale, inni książi, jedni wolą taki sposób uczenia, drudzy inny. Nie ma złotej metody. To co najważniejsze w nauce programowania zostało tak naprawdę napisane w artykule: wiara w siebie, systematyczność, dociekliwość, radość.

      • Ano znalezienie wartościowych i atrakcyjnych dla siebie materiałów do nauki to ważna i trudna sprawa, świetnie to ująłeś.

    • Tak jak w komentarzu, który się pojawił, musisz się zastanowić jak lubisz się uczyć, co Ci jest potrzebne, czy nauczyciel i grupa znacznie bardziej poprawią twoją motywacje i efektywność, czy masz znajomego programistę, który może pomóc, czy lubisz uczyć się z książek, tutoriali, kursów … A jeśli już zdecydujesz się na kurs, to warto poszukać wszystkie dostępne opcje i właśnie popytać absolwentów o wrażenia (ale znowu z uwagą, że każdy z nas do efektywnej nauki potrzebuje czegoś innego).

  • Dorota Zelga

    Pozytywne :) zgadzam się w każdym akapicie.

  • marck k

    Super :) sledze wasz blog juz od duzszego czasu i cos juz malo technicznych wpisow o nowych technologiach.
    pozdrawiam

    • Wpisów technicznych mniej z dwóch przyczyn – mamy znacznie mniej czasu, więc łatwiej i szybciej napisać przemyślenia o programowaniu/ byciu dobrym programistą ogólnie, niż o technologii, a dwa, ponieważ, nie chcemy by na tym blogu zaczęły pojawiać się bardzo specyficzne, ale i przypadkowe tematy. Niemniej, powoli do przodu idziemy z projektem bilet, który w systematyczny sposób wprowadzi nowe technologie i zagadnienia.

  • Szymon Draga

    Bardzo pocieszający wpis. Ja dwa tygodnie temu zacząłem pracę jako programista, i jestem przerażony liczbą różnych technologii i rzeczy do nauki. Staram się jednak być systematyczny i codziennie nauczyć się czegoś nowego, chociażby błahego ;)

  • Joanna Bochyńska

    Bardzo fajny artykuł! Dobrze jest przeczytać, że te wszystkie odczucia i niepewności są na początku dość powszechne. Ja sama pracuje od kilku miesięcy na stanowisku juniorskim i właśnie łapię się na tym, ze często zamiast docenić to co już umiem, skupiam się na tym, ile mi brakuje, żeby wiedzieć tyle co bardziej doświadczone osoby. Ale staram się z tym walczyć. I mam nadzieję, że za kilka lat nadal będę zadowolona z decyzji o przebranżowieniu: )

  • Alexandretta

    Fajnie poczytać przemyślenia kogoś kto całą tą drogę ma już za sobą :) Ja dopiero niedawno zaczęłam się uczyć programowania tak na serio-serio, wcześniej zdarzało mi się już klepać jakieś drobne programiki i sprawiało mi to straszną frajdę. W końcu uznałam że nie ma co, skoro mi się to podoba to idziemy na całość! Boję się tylko jednej rzeczy… że nauczę się w domu języka – składni, bibliotek etc, ale potem, jakbym poszła w tym pracować, to dostanę do rozwiązania jakiś problem i nie będę wiedziała co z nim zrobić. Chodzi mi o brak znajomości algorytmów, wzorców projektowych, takich rzeczy… Ktoś byłby w stanie powiedzieć jak tego typu rzeczy wyglądają na początku, na stanowiskach typu junior?

    • ola

      Nie napisze z perspektywy juniora – ale stazysty . Mnie osobiscie wiele rzeczy i ogrom projektu ( w porownaniu do dotychczasowych w domu) przerazilo , jednak wszystkiego idzie sie nauczyc w praniu :) Do tego – nalezy szukac podpowiedzi w internecie i pytac :) Sama zaczelam sie uczyc danego jezyka pod koniec lutego , a teraz pracuje jako stazysta wlasnie w danej technologii i uwazam ze to jest dopiero najlepsza nauka – w praktyce przy realnym komercyjnym projekcie .