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ąć 🙂

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.

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.

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.

Zachęcam również do dalszego obserwowania mojego bloga poprzez: subskrypcję kanału RSS, zapisanie się do notyfikacji mailowych (formularz "Bądź na bieżąco" po prawej stronie) lub śledzenie mnie na Twitterze. Dzięki temu na pewno niczego nie pominiesz :)

Chcesz więcej? W takim razie zapraszam Cię do dołączenia do dedykowanej grupy 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.

1 000 000 zł

Milion złotych. Tak, milion złotych. Milion złotych to cel, który sobie postawiłem jakiś czas temu. Chcę zarobić milion złotych na tym blogu. Do tej pory udało mi się zarobić 46,34 zł, więc jak widzisz jeszcze mi trochę brakuje. Jeszcze nie wiem do końca jak, ale to zrobię. Na pewno nigdy nie będę pobierał żadnych opłat za dostęp do treści, bo tymi chcę się po prostu dzielić. Pierwszym krokiem niech będzie rozpropagowanie bloga wśród jak największej liczby osób. I tu mam prośbę do Ciebie: jeśli uważasz, ten artykuł za wartościowy, to udostępnij go proszę swoim znajomym. Przy lewej lub dolnej krawędzi ekranu znajdziesz przyciski, które Ci to ułatwią. Niezależnie od tego, czy prześlesz ten wpis dalej, czy nie, to ja i tak bardzo Ci dziękuję za doczytanie do tego miejsca! Do przeczytania niebawem.