Podstawowym problemem części początkujących (ale nie tylko) osób, które połkną bakcyla programowania (lub innej „twórczości” cyfrowej) jest chęć nauczenia się wszystkiego, a nawet WSZYSTKIEGO. Jeśli Ty jesteś jedną z nich, to zaoszczędzę Ci czasu: nawet nie próbuj! 🙂

Z pamiętnika

U mnie schorzenie „zbieraj jak najwięcej materiałów z możliwie najróżniejszych zagadnień i przerób je wszystkie” pojawiło się dawno temu. Gdzieś w okolicach gimnazjum, kiedy to samo granie w gry komputerowe przestało mi wystarczać. Wtedy jeszcze nie programowałem, ale lubiłem pobawić się jakąś grafiką, albo czymś flashowatym. I właśnie wtedy narodziło się u mnie zbieractwo i chęć nauczenie się wszystkiego co zebrałem.

Działo się to w okolicy przełomu wieków, gdy modemy w miastach wydawały charakterystyczny dźwięk, a na wsiach (a z takowej pochodzę) nie wydawały żadnego, bo ich tam po prostu nie było 😉 Internet nie był wtedy podstawowym źródłem wiedzy. Były nim czasopisma komputerowe (czasem z załączoną płytą CD) lub znajomi, którzy chętnie dzielili się swoimi zasobami na 3,5-calowych dyskietkach. Dokładnie tak w tamtych czasach wyglądała moja „biblioteczka” – sterta czasopism komputerowych i cała masa kursów z różnych dziedzin, które udało się od kogoś wyciągnąć.

Liceum i początek studiów (złote lata kafejek internetowych i pojawienie się domowych nagrywarek CD) sprzyjały zbieractwu i obiecywaniu sobie, że kiedyś do tego wszystkiego zajrzę.

Kiedy pod koniec studiów i na początku pierwszej pracy (na piątym roku pracowałem już na część etatu) programowanie na dobre zagościło w sferze moich zainteresowań zbieractwo było cały czas ze mną. Zmieniła się tylko tematyka materiałów. Teraz były to wszystkie możliwe informacje na temat programowania… programowania w czymkolwiek.

Zakup czytnika ebooków (Amazon Kindle 3) był kolejnym krokiem rozwijającym moją przypadłość. Kindle dawał możliwość odczytywania książek w formacie PDF (legalność źródeł przemilczę), więc te stały się moim nowym celem. W pewnym momencie zapchałem go tak bardzo, że odbywające się w tle indeksowanie treści uniemożliwiało mi dalsze korzystanie z urządzenia. Było tam wszytko – od Asemblera i C, poprzez Javę, C#, PHP, aż po Python, Perl i wiele, wiele innych. I cały czas planowałem to wszystko pochłonąć 🙂

Czasy nowożytne

Już jakiś czas temu zdałem sobie sprawę, że ilość otaczających nas technologii i częstotliwość pojawiania się nowych jest niemożliwa do ogarnięcia przez pojedynczego człowieka. Przy okazji przenosin na nowego laptopa usunąłem więc wszystkie stare materiały, które do tej pory zebrałem. Do 90% z nich nigdy dobrze nie zajrzałem. Większość i tak była już bardzo nieaktualna, a obecnie, przy szerokopasmowym internecie i Wi-Fi czającym się za każdym rogiem, dowolną informację można znaleźć kiedy tylko się jej potrzebuje. Podobnie zrobiłem z ebookami na Kindle’u. Zostawiłem jedynie kilka ponadczasowych i kilkanaście związanych z Javą i Pythonem. Chociaż tak naprawdę to i tak zbyt dużo.

Zbieractwo i odkładanie materiałów na później to globalna przypadłość. Gdyby było inaczej, to serwisy ułatwiające kolekcjonowanie treści (np. Delicious, Pinterest, czy Pocket) nie rosłyby jak grzyby po deszczu. Nastały więc czasy kolekcjonowania odnośników do treści.

Mimo uporządkowania dysku oraz Kindle’a i uświadomienia sobie, że doba ma tylko 24 godziny i z biegiem lat wolnego czasu jest coraz mniej, zbieractwo cały czas próbuje mnie dopaść. Jednym z przejawów jest codzienne wchodzenie na stronę wydawnictwa Packt Publishing po darmowego ebooka. Lista książek na ich koncie zrobiła się już baaardzo długa, a te do których zajrzałem można policzyć na palcach u jednej ręki. Już jakiś czas temu stwierdziłem, że nie ma to żadnego sensu. Stać mnie na to, żeby kupić sobie sensowną książkę, która mnie zainteresuje, a tematyka większości zamieszczanych darmowych książek już dawno przestała mnie interesować. Mimo wszystko nadal klikam. Chyba tylko dlatego, że zajmuje mi to mniej niż minutę dziennie 🙂

Kiedy kilka miesięcy temu postanowiłem zrobić porządek na mojej liście zadań (korzystam z aplikacji Todoist), zauważyłem, że w projekcie „Kursy internetowe” mam 35 pozycji. Chciałem nawet zamieścić screenshot, ale zrezygnowałem, gdy zobaczyłem, że jego długość jest dwukrotnie większa niż długość testu w tym wpisie 😉 Z kolei gdy kilka dni temu znałem w szufladzie karteczkę z notesu, zapełnioną listą technologii (nawet nie pamiętam kiedy ją stworzyłem), które chciałbym poznać (jej fragment jest widoczny na zdjęciu nagłówkowym), to postanowiłem ostrzec Ciebie przed manią chęci nauczenia się wszystkiego.

Cykl artykułów "Vademecum Juniora"

Ten wpis jest częścią cyklu, w ramach którego opisuję moje doświadczenia i spostrzeżenia na temat programistycznego rzemiosła. Cykl jest dedykowany osobom rozpoczynającym swoją przygodę z zawodowym programowaniem lub planują taki krok w przyszłości.

Artykuły składające się na Vademecum Juniora zawierają różne porady, wskazówki i przykłady z pracy jako programista. Nie są one ani uporządkowane chronologicznie, ani mocno ze sobą powiązane. Możesz je więc czytać niezależnie od siebie i w dowolnej kolejności. Polecam jednak zapoznać się z treścią wszystkich wpisów, gdyż wierzę, że z każdego możesz dowiedzieć się czegoś wartościowego.

Morał

Nie ucz się wszystkiego. Nie da się nauczyć wszystkiego. Co więcej nie da się nawet poznać wszystkiego pobieżnie. Trzeba przestać się oszukiwać i uświadomić sobie, że nie ma nawet potrzeby poznawania wszystkiego, choćby pobieżnie. Znacznie więcej benefitów przynosi poznanie jednej lub dwóch wybranych technologii (np. języków programowania) i zgłębianie wiedzy na ich temat. To jest droga do zostania specjalistą.

Uczenie się wszystkiego prowadzi tylko do bycia juniorem we wszystkim.

Ktoś może w tym momencie zapytać: No ale w programowaniu trzeba się ciągle rozwijać, żeby nie zostać w tyle. A co się ze mną stanie gdy na technologię, którą zgłębiam przestanie być zapotrzebowanie? To nie jest żaden problem. Jesteś bowiem w stanie przewidzieć, czy technologia, której używasz nadal cieszy się popularnością obserwując różne statystyki, np. TIOBE Index dla języków programowania. Strzelam, że jeśli język znalazł się kiedykolwiek w pierwszej dziesiątce, a nawet dwudziestce to zawsze będzie zapotrzebowanie na jego programistów. Ktoś w końcu musi te stare aplikacje utrzymywać 🙂 Zwróć uwagę jak dobrze ma się COBOL, którego początki sięgają 1959 roku! Systemy finansowe w nim napisane sprawiają, że nie można się tak po prostu od niego odciąć. Spokojnie zdążysz się „przebranżowić” jeśli zajdzie taka potrzeba.

Moja rada jest taka: rozwijaj się wgłąb, a nie wszerz. Wybierz sobie jeden mainstreamowy język programowania i rozwijaj wiedzę na jego temat. Dodatkowo jeśli starczy Ci czasu, zainwestuj go w naukę jakiegoś nowego, dobrze zapowiadającego się języka. Może się bowiem okazać, że w pewnym momencie będzie miał on swoje 5 minut, a popyt na jego programistów drastycznie wzrośnie. Wtedy i Ty będziesz miał swoje 5 minut 🙂 Nie przesadzaj również z uczeniem się bibliotek, czy frameworków związanych z wybranym przez Ciebie językiem. Tu również kieruj się podobną zasadą. Poznaj dobrze język i 2-3 najczęściej używane frameworki z danej dziedziny (np. dla aplikacji webowych, czy do testów jednostkowych). Reszty dasz radę douczyć się gdy zajdzie taka konieczność.

Jeśli jakimś cudem doczytał[a|e]ś do tego miejsca, a nie jesteś już juniorem, to mam do Ciebie pytanie: zgadzasz się z moim zdaniem? Czy głupoty gadam? 🙂 Jeśli masz jakiś kontrargument, to podziel się nim w komentarzu. Jestem otwarty na wszelkie dyskusje. Jeśli masz dowolną inną wątpliwość związaną z poruszonym powyżej tematem, to również nie krępuj się pytać – niezależnie od tego czy jesteś juniorem, czy seniorem.


Bądź na bieżąco!

Podobają Ci się treści publikowane na moim blogu? Nie chcesz niczego pominąć? Zachęcam Cię do subskrybowania kanału RSS, polubienia fanpage na Facebooku, zapisania się na listę mailingową:

Dołączając do newslettera #NoweRozdanie2 otrzymasz dostęp do dodatkowych materiałów:

  • PDF: „Jednoosobowa działalność gospodarcza krok po kroku” (do artykułu)
  • PDF: „FAQ: Jak pracuje się dla Roche/Sii?” (do artykułu)
  • PDF: „Jak zmniejszyć prawdopodobieństwo wystąpienia kontroli i co zrobić kiedy urzędnik zapuka do Twoich drzwi?” (do artykułu)

Powyższe dane są przechowywane w systemie Mailchimp i nie są udostępniane nikomu innemu. Więcej szczegółów znajdziesz na stronie polityki prywatności.

lub śledzenia mnie na Twitterze. Generalnie polecam wykonanie wszystkich tych czynności, bo często zdarza się tak, że daną treść wrzucam tylko w jedno miejsce. Zawsze możesz zrobić to na próbę, a jeśli Ci się nie spodoba – zrezygnować :)

Dołącz do grup na Facebooku

Chcesz więcej? W takim razie zapraszam Cię do dołączenia do powiązanych grup na Facebooku, gdzie znajdziesz dodatkowe informacje na poruszane tutaj tematy, możesz podzielić się własnymi doświadczeniami i przemyśleniami, a przede wszystkim poznasz ludzi interesujących się tą samą tematyką co Ty.

W grupie Programista Na Swoim znajdziesz wiele doświadczonych osób chętnych do porozmawiania na tematy krążące wokół samozatrudnienia i prowadzenia programistycznej działalności gospodarczej. Vademecum Juniora przeznaczone jest zaś do wymiany wiedzy i doświadczeń na temat życia, kariery i problemów (niekoniecznie młodego) programisty.

Wesprzyj mnie

Jeżeli znalezione tutaj treści sprawiły, że masz ochotę wesprzeć moją działalność online, to zobacz na ile różnych sposobów możesz to zrobić. Niezależnie od tego co wybierzesz, będę Ci za to ogromnie wdzięczny.

Postaw mi kawę na buycoffee.to

Na wsparciu możesz także samemu zyskać. Wystarczy, że rzucisz okiem na listę różnych narzędzi, które używam i polecam. Decydując się na skorzystanie z któregokolwiek linku referencyjnego otrzymasz bonus również dla siebie.

Picture Credits
  • prywatne archiwum