12.25
Dawno temu za czasów mojej szkoły podstawowej (a później też po części liceum), gdy zaczynałem swoją przygodę z informatyką zadawałem sobie takie pytanie: “Co takiego kurka robią niektórzy moi starsi koledzy, że tak szybko się uczą”. Do teraz w głowie mam obraz tych chwil, gdy z podziwem patrzyłem jak mój o dwa lata starczy kolega i ówczesny mentor – Loziek – z łatwością ogarnia nowe rzeczy. Pamiętam do teraz jak wspólnie robiliśmy stronę dla Wielkiej Orkiestry Świątecznej Pomocy. Loziek wpadł na pomysł, aby zrobić intro we flash – jednak nikt z nas nie znał flasha (wtedy to była nowa technologia). Loziek w kilka nocy naklikał intro, a ja po miesiącu czytania książki potrafiłem zrobić jedynie proste animacje. Przez kolejne lata bacznie obserwowałem otaczających mnie ludzi wciąż szukając tej magicznej receptury na szybką naukę, która przekłada się w praktykę.
Temat bardzo mnie zainteresował. Przyglądałem się pracy ludzi, których uważałem za dobrych w tym co robią. Obserwowałem jak radzą sobie z rozwiązywaniem nowych dla nich problemów oraz w jaki sposób się uczą. Dziś postanowiłem, że opiszę to wszystko czego się dowiedziałem oraz co sam przetestowałem i uważam, że działa. No to do dzieła :)
Zacznijmy od złych nawyków – książek. Książki są z dupy, niestety. Dlaczego? Ponieważ są za grube, a ich rozmiar nie jest współmierny z wiedzą jaka tam się znajduje. Posłużmy się prostym przykładem instalacji serwera HTTP – apache. Dostajesz taska – postaw apache i wrzuć tam tą prostą statyczną stronę – sam html, css plus obrazki. Nigdy nie miałeś do czynienia z apache oraz z innymi serwerami www. Pierwszy, kardynalny wręcz błąd jaki zrobisz to pójdzie do sklepu i kupisz sobie grubą książkę o apache i zaczniesz czytać. Minie tydzień, przeczytasz sobie z 200 stron i odpalisz sobie serwer apache, wejdziesz na stronę: http://127.0.0.1/ i ujrzysz piękny napis “Welcome” (domyślna strona apache).
Jaki jest lepszy sposób? Wpisać w google “apache tutorial”. W pierwszej 10-tce wyników znajdziesz jak zainstalować i skonfigurować apache. Jeśli masz jakieś podstawy to w przeciągu góra godziny (nie wiedząc wcześniej co to jest apache) jesteś wstanie zrobić to, co inni by zrobili po przeczytaniu 200 stron książki.
No dobrze, ale dlaczego książki są złe? Po pierwsze gdzie czytamy książki? Ja czytam jadąc pociągiem do pracy lub leżąc na łóżku. U Ciebie prawdopodobnie jest tak samo. Mało znam osób co siedzą przed komputerem i czytają książkę, a tu jest właśnie pierwsza wada: dużo czytasz, mało robisz! Czytasz 100 stron, albo i więcej – bo tyle przeczytasz, gdy położysz się na łóżku i skupisz się tylko na czytaniu. Nie będziesz robił wszystkiego co autor pisze w książce, tylko spojrzysz na przykład i polecisz dalej.
Nie – nie okłamuj siebie, bo nie wierzę Ci, że gdy leżysz wygodnie na łóżeczku i czytasz książkę to podniesiesz swoje dupsko i podejdziesz do komputera, aby wpisać kilka poleceń, o których autor pisze w książce. Efekt tego jest taki, że:
- tylko czytasz, a nie robisz żadnych ćwiczeń, ani też nie robisz przykładów jakie robi autor,
- albo tak na prawdę czytasz książkę dwa razy, ponieważ po przeczytaniu przychodzisz do komputera, wracasz 200 stron do tyłu i robisz te wszystkie przykłady – co też nie jest prawdą, ponieważ albo już Ci się nie będzie chciało, albo będzie Cię ciekawiło co dalej jest w książce napisane.
Kolejna rzecz, gdy czyta się książkę, wszystko wydaje się oczywiste, a świat staje się idealny:
- wszystko jest bajecznie proste,
- instalacja przebiega bez problemów,
- nie napotykamy na żadne błędy.
Problem tylko w tym, że życie nie jest takie piękne. Okaże się, że u Ciebie coś nie działa, masz inny wynik niż w książce i musisz grzebać. Peszek – takie życie i musisz się przestać oszukiwać i zacząć do cholery klikać!
Zrozum tak samo jak od samego gadania nic samo się nie zrobi, tak samo od samego czytania nic nie zacznie samo działać!
Jeśli chcesz być dobry to musisz, więcej pisać, a mniej czytać. To jest jak z matematyką – od czytania teorii na temat równań nie dostaniesz piątki na egzaminie. Piątkę dostaniesz jak będziesz potrafił zrobić wszystkie zadania – a nauczysz się je robić tylko, gdy … no właśnie będziesz je robił, a nie o nich czytał.
Co jeszcze złego jest w książkach? Bardzo często wiedza tam przedstawiona jest przestarzała. Prosty przykład rails. Gdy piszę te słowa najnowszą stabilną wersją jest 2.3.5. Zgadnij, o której wersji jest najnowsza wydana w Polsce książka? Jeśli nie wiesz to Ci podpowiem – o wersji 2.1.x, albo góra o wersji 2.2.x!!! Warto podkreślić, że pomiędzy tymi wersjami (książkowymi, a tą najnowszą) wydarzyło się na prawdę dużo i bardzo dużo zmian wprowadzono. A teraz jeszcze trwają ostro prace nad rails 3.0.
Ten problem wynika z prostego faktu. Wydanie książki (a jeszcze przetłumaczenie jej na język Polski) to bardzo długi proces. Po pierwsze autor książkę musi napisać, książka musi iść do korekty, drukarni, aż wreszcie po długich miesiącach wyląduje na sklepowej półce.
Kolejna rzecz – książka pomimo, że ma te tysiąc stron to i tak nie zawiera tyle samo wiedzy co dużo, dużo, dużo mniejsza dokumentacja!
Lećmy dalek – studia. Temat już wałkowany w poprzednim moim wpisie na temat studiów. Studia to ogrom materiału, który nie wiadomo do czego wykorzystać. To wszystko powoduje frustrację i rodzi pytanie o sens posiadania takiej wiedzy. Nie będę się na temat studiów już rozpisywał, ponieważ całą kwintesencję ujął to w swoich słowach brazylijski pisarz i poeta Paulo Coelho, autor książki Pielgrzym:
Wszystko, czego się dotąd nauczyłeś, zatraci sens, jeśli nie potrafisz znaleźć zastosowania dla tej wiedzy.
No dobrze, pojechałem jak to zwykle ja wszystko dookoła, ale nie podałem żadnych dobrych rad. To podam teraz:
Naucz się dobrze angielskiego
Jeśli chcesz się uczyć informatyki, a nie znasz angielskiego to olej informatykę i ucz się angielskiego. I mówię teraz serio! Pamiętam, kiedyś na jednej ze znanych konferencji poświęconej programowaniu spytano pewnego znanego i doświadczonego programistę, o to jakiego w dzisiejszych czasach warto uczyć się języka. Ten doświadczony Pan bez chwili zastanowienia odpowiedział – “Angielskiego!”.
Możesz mi wierzyć na słowo, bądź też nie, ale ten język jest oficjalnym językiem w internecie. Wszystkie dokumentacje znanych projektów są po angielsku. RFC jest po angielsku. Najnowsze książki są po angielsku. Gdy będziesz szukał po google to z pewnością większość stron na które się natkniesz (fora, blogi, serwisy) również będzie po angielsku.
Nie musisz mówić, ani pisać po angielsku. Wystarczy Ci dobra znajomość biernego, technicznego angielskiego – ważne, abyś rozumiał co jest napisane w dokumentacji. Najlepiej się uczyć go poprzez czytanie dokumentacji, blogów itp. Czyli też nie czytać książek do angielskiego, tylko czytać angielskie teksty.
To jest Twoja inwestycja!
Naucz się zadawać pytania
Umiejętność budowania w prawidłowy sposób pytań jest fundamentem definiowania problemu. Nigdy nie rozwiążesz żadnego problemu, jeśli nie będziesz potrafił spytać o to co jest tym problemem. Szukając odpowiedzi nie staraj się opisać problemu, staraj się zadawać pytania. Dlaczego? Ponieważ bardzo często, gdy zbudujesz pytanie odpowiedź nasunie Ci się sama. Poza tym jak możesz szukać odpowiedzi, jeśli nie wiesz czego szukasz?
Google ma dużo roboty – musi odpowiedzieć na miliony pytań miliona ludzi i to w ciągu sekundy. Google powie Ci “spiedalaj, nie mam czasu”, jeśli przyjdziesz do niego z problemem, a nie z pytaniem. Google tak jak ludzie, nie lubią słuchać godzinami o Twoich problemach. Stary, zadaj pytanie to Ci odpowiem inaczej spadaj.
Kolejna rzecz – jeśli masz problem, a nie masz żadnych pytań to znaczy to jedynie tyle, że nie przeanalizowałeś go dokładnie i jesteś w ciemnej dupie. Nie prowadzi Cię to do rozwiązania, a jedynie oddala.
Jeśli opanujesz tą sztukę, będziesz potrafił rozwiązać każdy problem – o ile tylko była na świecie choć jedna osoba, która go już rozwiązała przed Tobą i o tym napisała.
Gromadź dużo wiedzy teoretycznej
Wielu tu może powiedzieć, że przeczę sam sobie, ponieważ najpierw kurwię na studia oraz książki, a sam robię odwrotnie. Po części jest to prawda, po części nie. Karol Juliusz Weber – niemiecki pisarz i felietonista kiedyś powiedział:
Książka nie warta tego, by ją dwa razy przeczytać, nie jest warta, by przeczytać ją raz.
Jest to kwintesencja tego co chce powiedzieć. Książki warto czytać, ale nie w celu poszerzenia swojej praktyki, ale swojej wiedzy teoretycznej. Jest wiele wybitnych dzieł, które powinien przeczytać każdy jak np. "Pragmatyczny Programista".
Takie książki powinniśmy czytać leżąc sobie wygodnie na łóżku. One mają poszerzać nas światopogląd oraz naszą wiedzę. Nie mają nas nauczyć czegoś konkretnego. Ich celem jest przekaz czegoś głębszego – to ma być taki drogowskaz na Twoją dalszą drogę. W każdej dziedzinie życia są takie książki. Nie trać więc czasu na czytanie książek – czytaj tylko dobre książki, które później będą mieć honorowe miejsce na Twoim regale :)
Nie musisz czytać dużo książek – czytaj tylko te najwybitniejsze dzieła jak podany wyżej pragmatyczny programista, czy chociażby “Rzecz o istocie informatyki” D. Harel, albo wzorce projektowe “Bandy czworga”.
Czytaj blogi, śledź co się dzieje w internecie
Twój czytnik RSS powinien pękać w szwach! Nie musisz tego wszystkiego czytać. Wystarczy, że będziesz czytać nagłówki i wybrane fragmenty. Chodzi przede wszystkim, abyś wiedział co się dzieje dookoła Ciebie. Na blogach ludzie piszą o swoich problemach i o ich rozwiązaniach. Nie musisz tego czytać, wystarczy że zapamiętasz kilka słów kluczowych. W przyszłości, jeśli będziesz mieć podobny problem bez trudu skojarzysz fakty i odnajdziesz ten wpis na blogu.
Newsy – ważna rzecz. W newsach będziesz mieć informacje o tym co jest teraz na topie. Co się dzieje na świecie. Dowiesz się o nowych projektach, o nowych rozwiązaniach. Dla przykładu postawiłeś serwer apache i wszystko działa ok. Kiedyś trafi do Ciebie informacja o lighttpd lub o aktualizacji nginx. Teraz ta informacja nie jest do niczego potrzebna. Teraz nie musisz się o tym uczyć, wystarczy że będziesz wiedział co to jest i do czego to ludzie wykorzystują plus kilka zalet tych programów.
W przyszłości, gdy zajdzie potrzeba wymiany serwera HTTP na coś “mocniejszego” już wiesz w czym wybierać i o czym pisać. Poza tym ludzie mają na prawdę zaskakujące pomysły i czasem potrafią z niczego zrobić coś wielkiego.
Subskrybuj też różnego rodzaju serwisy tematyczne. Chyba każdy szanujący programista rails zna Rails Envy. Skarbnica wiedzy i dobre streszczenie tego co się dzieje w środowisku Ruby on Rails. Najnowsze projekty, informacje o ważnych aktualizacjach i zmianach tych już istniejących oraz kupa wiedzy i pomysłów. Tu też wystarczy, że będziesz czytał tylko nagłówki, a jeśli coś Cię zainteresuje to przeczytasz więcej.
Uczelnie, konferencje, prelekcje
Żyjemy w XXI wieku. To są piękne czasy. Nie trzeba jechać na drugą półkulę na mega wyjebaną w kosmos konferencję, aby móc “spotkać się” z guru tego świata. Teraz wszystkie prelekcje z różnego rodzaju konferencji mamy w formie video, a jeśli nie ma video to jest zazwyczaj chociaż prezentacja. Oglądaj to! Koniecznie!
Dla przykładu w Polsce mamy coś takiego co się nazywa PLNOG. Jest to konferencja, która przyciąga ponad 300 osób związanych z rozwojem sieci w Polsce. W książkach nie przeczytasz o tym, jakie problemy musiała pokonać np. Nasza Klasa i jak sobie z nimi chłopaki poradzili. Dzięki dobie internetu, możesz posłuchać o tym siedząc wygodnie w fotelu i popijając sobie zimne piwo! To jest coś niesamowitego.
Uczelnie nie pozostają w tyle. Bardzo wiele uczelni (np. MIT, Stanford University) udostępnia swoje wykłady w formie video. Wykłady są wypasione i są chyba z każdej dziedziny życia – od informatyki, matematyki, aż po handel, marketing i teologię.
Zacznij uczyć się z dokumentacji
Olej książki. Jeśli chcesz dowiedzieć się wszystkiego o danym programie, najlepiej zacznij czytać jego dokumentację. Bardzo często są tam różnego rodzaju tutoriale, przykłady, komentarze użytkowników. Dla przykładu, wątpię abyś znalazł lepszą książkę o serwerze baz danych MySQL (mówię teraz o administracji) niż dokumentacja mysql.
Chcesz coś szybko postawić i żeby to działało dobrze, to nie trać czasu na czytanie setek stron książek tylko siadaj przed komputerem i rób krok po kroku to co mówią w dokumentacji. Z pewnością napotkasz na masę problemów, ale o to właśnie chodzi. Człowiek uczy się na błędach.
Jako przykład podam moją naukę PHP. Było to jakoś jeszcze chyba w 2000 roku. Ja uczyłem się z książek, wcześniej wspomniany mój przyjaciel Loziek uczył się z manuala na php.net. Zgadnij kto szybciej zaczął pisać? Loziek. Podczas, gdy ja czytałem o formularzach i ciasteczkach to on już klikał skrypty, które korzystały z bazy danych.
Jedynie pisząc uczysz się programować. Od czytania książki jeszcze żaden program sam się nie napisał. Niby to oczywiste, a jednak wszyscy nadal kupują wielkie tomisko, a nie piszą kodu. To błąd.
Inny przykład do RFC oraz innego rodzaju specyfikację. Są osoby, które twierdzą, że znają html, ale nigdy nie przeczytały specyfikacji w3c. Są osoby, które twierdzą, że znają protokół HTTP, ale nigdy nie przeczytały RFC. Jeśli chcesz mieć pełną wiedzę na dany temat i być profesjonalistą musisz uczyć się wszystkich szczegółów!
Naucz się korzystać z google
Kolejna oczywista rzecz. Wszyscy wiedzą, nikt nie korzysta. Masz w logach dziwny błąd – googluj (wklej w google). Program Ci się wywala i masz dziwny komunikat z błędem – googluj (wklej w google). Masz problem, że mysql wpierdala Ci 100% CPU – googluj (mysql cpu 100%). Na 99% problemów znajdziesz rozwiązanie właśnie w googlach.
Ludzie mają takie samy problemy jak Ty, więc szukają na nie odpowiedzi. Jeśli szukają odpowiedzi to albo pytają na forach, albo też googlują. Jeśli znajdą odpowiedź to piszą o tym na forum lub na swoim blogu. Wykorzystaj to.
W stresie najszybciej się uczysz
Nikt nie lubi stresu. Czujemy się źle, denerwujemy się. Wykorzystaj stres! Stres motywuje Cię do działania. Czasem masz trudny problem do rozwiązania, cholernie trudny. Gdyby nie było stresu to byś się poddał. Jednak wiesz, że jeśli swojego zadania nie zrobisz to będziesz mieć opierdol. Klienci będą do Ciebie wydzwaniać, szef się wkurwi i dobrze wiesz, że nikt inny nie zrobi tego za Ciebie. Jeśli problem jest poważny, może być i tak, że szef poleci Ci po pensji – nie ma bata, musisz to zrobić.
Gwarantuję Ci, że jeśli masz taką sytuację to błyskawicznie się nauczysz :)
Oczywiście taka sytuacja nie może być często, ponieważ stres męczy, wyniszcza. Jednak stres to najlepszy środek dopingujący, wspomagający proces nauki. Będziesz siedział do piątej rano (a na 9:00 do pracy), ale rozwiążesz problem. Później trochę spokoju, aby ochłonąć.
Ja najwięcej się nauczyłem, gdy dostawałem od klienta rzecz do zrobienia, o której zielonego pojęcia nie miałem, ale powiedziałem, że to zrobię i zgrywałem eksperta. Później trzeba się z tego rozliczyć i nie ma odwrotu. Trzeba to zrobić. Jeśli się nie zrobi, to będzie trzeba oddawać kasę plus zapłacić karę, ponieważ opóźnienia lub przestoje narażają klienta na stratę.
Przychodzisz do domu, odpalasz google i jedziesz. Gwarantuję Ci, że wtedy nie ma czasu na studiowanie lub czytanie setek stron tekstu. To po prostu ma działać. Odpalasz w kilka godzin wersję prototyp. Później ładnie to układasz, aby to miało ręce i nogi, było bezpieczne i profesjonalnie zrobione. Klient jest zadowolony, a Ty jak na jakimś speedzie w kilka godzin zdobyłeś masę wiedzy.
Po pewnym czasie przestajesz się bać odpowiedzialności. Gdyby była taka potrzeba to nawet podejmiesz się ekstremalnych zadań, ponieważ jeśli kilka razy uda Ci się sklikać wszystko dobrze, to później nie masz oporów i wiesz, że jeśli przysiądziesz do problemu i będziesz oporowo klikać to nie ma dla Ciebie przeszkód :)
… ale do tego potrzeba dużo teorii
I taka jest prawda. Musisz szlifować teorie. Jeśli ktoś Ci będzie pieprzyć, że teoria jest do dupy, ponieważ ludzie się tylko mądrzą i nic nie robią to olej człowieka. Wiedza teoretyczna to Twoje narzędzie pracy. Jeśli masz solidne podstawy to bardzo szybko będziesz się uczyć. Przy poważniejszych problemach nie możesz być wąskim specjalistą i mieć klapki na oczach. Jeśli chcesz być na prawdę dobry musisz mieć wiedzę na każdy temat. Od architektury i budowy komputerów, po programowanie, sieci, algorytmy i projektowanie.
Dla przykładu zajmujesz się optymalizacją baz danych. Jeśli jesteś specjalistą od SQL to sobie możesz optymalizować, a tu nagle się okazuje, że duże znaczenie ma system operacyjny i sam sprzęt (dostęp do pamięci, prędkość odczytu/zapisu), algorytmy (cachowanie, sortowanie, wyszukiwanie). Może się okazać, że jeden system plików jest w tym wypadku lepszy od drugiego.
Poza tym, żeby znaleźć rozwiązanie musisz wiedzieć czego szukać. Pewien mądry człowiek kiedyś powiedział, że:
Bardzo wielu, a może większość ludzi, aby coś znaleźć musi najpierw wiedzieć, że to coś istnieje
Szlifuj podstawy
Tak jak bokser mimo wieloletniej praktyki szlifuje ciągle podstawowe uderzenia (lewy prosty, prawy prosty, sierpy) tak Ty musisz dopracować do perfekcji podstawy swojej profesji. Musisz jednak pamiętać, że trzeba iść drogą od ogółu do szczegółu – nigdy w drugą stronę! Dlaczego? Ponieważ wtedy stracisz sens nauki i jej przydatność.
Im będziesz lepszy tym bardziej będzie ciekawić Cię precyzja. Mimo, że będziesz dobrym programistą to będziesz chciał rozróżniać definicję od deklaracji. Będziesz dobrym administratorem sieci to nie będziesz mówił TCP/IP, tylko dla Ciebie będą to dwa zupełnie różne protokoły. Będziesz dobrym bokserem to będziesz pracował nad chodzeniem/poruszaniem się, nad precyzją ciosu.
Im solidniejsze masz podstawy, tym łatwiej Ci pojąć inne rzeczy. Jeśli masz teorię (wiesz co to proces, rozróżniasz wątek od procesu, programowanie współbieżne od rozproszonego, instancję od klasy, przeciążanie od przysłonięcia) to bardzo łatwo będziesz się poruszał w swojej profesji i bardzo szybko będziesz się uczył.
Nie wynajduj na nowo koła
Bardzo częstym zachowaniem u nowicjuszy jest to, że próbują wynaleźć koło na nowo. Zamiast skorzystać z gotowej biblioteki, to oni wolą napisać własną. Bardzo często to nie jest dobre podejście, ponieważ:
- Musimy poświęcić czas na zrobienie czegoś, co ktoś inny już zrobił dawno temu i to działa.
- Nawet jeśli zrobimy to na podobnym poziomie, to musimy się liczyć z tym, że osoba, która robiła to przed nami rozwiązała po drodze setki problemów. Te problemy dopiero nas czekają i znowu musimy poświęcić czas na ich rozwiązanie.
Dużo lepiej jest skorzystać z mądrości innych i myśleć jak kiedyś Japończycy. Na początku nie starali wymyślać się nowych rzeczy. Jeździli do USA i uczyli się od amerykanów. Później przyjeżdżali do siebie do kraju, kopiowali ich rozwiązania i ulepszali. Staraj się uczyć od innych.
Rzadko będzie tak, że coś zrobisz lepiej, zaczynając od nowa. Lepiej jest wziąć gotowe rozwiązanie i dostosować je do naszych potrzeb. Jeśli nie jest to możliwe to chociaż skorzystać z doświadczenia osoby, która robiła to przed nami – zawsze jest coś, na czym możemy się wzorować.
Ja gdy zaczynałem pracę jako administrator nie miałem możliwości zaorania maszyn i postawienia wszystkiego od nowa. Musiałem wybrać inną drogę. Mam już coś i to coś muszę ulepszać. Nawet jeśli dobierałem się do rzeczy, o której zielonego pojęcia nie miałem to nie musiałem uczyć się od razu wszystkiego. Wystarczy, że np. jednego dnia nauczyłem się jak dodać nowy projekt na produkcji. Nie musiałem znać całego systemu, mogłem poruszać się etapami, a mimo wszystko porządnie robić swoją pracę.
Znajdź sobie mentora
Czasem jest tak, że w google nic nie znajdziesz, a w książkach jest brak wiedzy. Dobrze jest mieć całą paletę znajomych, którzy są specjalistami w swojej dziedzinie. Przydadzą Ci się ludzie poczynając od security, przez programowanie, algorytmy, aż na ludziach od użyteczności kończąc. Zawsze możesz do nich zadzwonić i poprosić o poradę lub pomoc w rozwiązaniu problemu. Pamiętaj, że nigdy nie będziesz najmądrzejszy na świecie!!!
Na koniec powiem tylko tyle, że nie ma wiedzy nieprzydatnej, jednak Ty nie musisz posiadać jej całej – wystarczy, że wiesz gdzie jej szukać!
Bardzo trafne uwagi, brawo :) Przydało by się jeszcze do tego kilka recept, jak sprawnie gospodarować czasem.
Świetny post!
Fajne uwagi, ale zazdroszczę, że mogłeś otaczać się ludźmi, których uważałeś za dobrych w tym co robią :)
Co do książek, to nie uważam, że trzeba je tak od razu skreślać. Ja np. najlepiej zapamiętuję nieznane mi rzeczy dzięki konkretnym przykładom – jeśli widzę samą teorię to nią rzygam, bo nie uważam, żeby mi się w życiu przydała (no chyba, że aby profesjonalnie nazwać to co robię(mechanizm/algorytm/wzorzec), albo w prosty sposób dogadać się z kimś kto jest w równym stopniu teoretykiem…). Jeśli przykłady są z życia wzięte (a nie jakieś pierdoły jak “klasa Pies dziedziczy z klasy Zwierzę”) to wtedy czytanie czegoś takiego dużo daje, chociaż co prawda mało jest takich materiałów.
Pozdrawiam.
“Nie musisz czytać dużo książek – czytaj tylko te najwybitniejsze dzieła jak podany wyżej pragmatyczny programista”
To wytłumacz mi teraz jak te najwybitniejsze dzieła stawały się wybitne.
“W stresie najszybciej się uczysz”
Jest to bzdura, wystarczy zainteresować się trochę psychologią czy technikami rozwoju człowieka (np. NLP), żeby wiedzieć że najszybciej się czegoś nauczy jeżeli odpowiednio się zmotywuje (w pozytywnym znaczeniu, np. poprzez postawienie jasnych celów, zidentyfikowaniu ich korzyści itp.).
“To wytłumacz mi teraz jak te najwybitniejsze dzieła stawały się wybitne.”
A to już musisz samego autora spytać. Nie rozumiem co to ma do treści tego wpisu. Książka po prostu była dobra, każdy ją polecał, ludzie ją czytali i polecali dalej. Ot cała tajemnica.
“Jest to bzdura, wystarczy zainteresować się trochę psychologią czy technikami rozwoju człowieka (np. NLP), żeby wiedzieć że najszybciej się czegoś nauczy jeżeli odpowiednio się zmotywuje (w pozytywnym znaczeniu, np. poprzez postawienie jasnych celów, zidentyfikowaniu ich korzyści itp.).”
To wytłumacz mi czemu student potrafi w noc przed egzaminem więcej się nauczyć, niż przez cały semestr? O stresie nie mówię tu oczywiście w przypadku, gdy ktoś stoi za naszymi plecami i leje nas batem jak tylko przez chwilę będziemy się obijać.
Ja mówię o sytuacji, w której nie ma czegoś takiego, że czegoś nie możesz robić. Masz to po prostu zrobić, albo masz się nie pokazywać. Najbardziej chyba znany wszystkim przykład: projekt/praca na uczelnie. Masz cały miesiąc, ale siadasz jednej nocy i piszesz do rana. Nie dopuszczasz do siebie możliwości nie zrobienia projektu – nie zrobisz, to lepiej nie pokazuj się profesorowi na oczy i tyle. Chyba, że ktoś jest leszczem i się podda – takie rozwiązanie też jest :)
a ja sobie właśnie uświadomiłem, że nie mam swojego mentora…
Od kiedy? … będzie już z kilka lat.
Wywodzę się z małego miasta, gdzie po lekturze jednej książki o programowaniu wiedziałem więcej niż wszyscy nauczyciele w mojej stronie.
Może to mnie poniekąd zniechęciło szukania mentora. Nikt taki na horyzoncie przez długi okres się nie pojawił. Obecnie też takiego mentora nie widzę.
Dla mnie mentor to powinna być osoba, która mnie przytłacza rozmiarem swojej wiedzy… wie o rzeczach, potrafi je zastosować a nawet napisać o których ja nawet nie słyszałem.
W sumie nasuwa mi się na myśl tylko jedna taka osoba i jest to jeden z moich przełożonych. Problem jest jednak w tym, że nasze kontakty są związane tylko z pracą. Trudno mi sobie wyobrazić, to by on nagle potrafił by mi poświęcić tyle czasu…
inna sprawa jest taka, że przed nim jako przed moim przełożonym ciągle jednak czuje mały wstyd przed pytaniem o pewne rzeczy. Wolę chyba jednak zgrywać tego co wie… choć zdaje sobie sprawę, że korzyść przynosi działanie wręcz odwrotne.
Nie wstydzę się już pytać moich współpracowników nawet o głupoty. Zauważyłem, że to w znaczący sposób zwiększyło moją prędkość uczenia się.
generalnie artykuł bardzo trafny.
chyba sobie dodam Twojego do RSSa ;)
Moim zdaniem mentor to nie musi być osoba “rzeczywista”. To równie dobrze może być osoba “z internetu” :)
w sumie prawda… wystarczyła jakaś znajomość z irc’a, która bywała naprawdę motywująca. W końcu człowiek chciał się pokazać przed tymi osobami, dla których napisanie zwykłego hello world nie jest jak dla większości zwykłych osób niesamowite, bo nigdy by tego nie zrobili.
Warto jeszcze to przeczytać:
http://railstips.org/blog/archives/2010/01/12/i-have-no-talent/
Moim zdaniem to bardziej zależy od poziomu IQ. To dlatego np. Doda jest bardzo znaną piosenkarką…
Bardzo fajny wpis, ale przyczepię się do 1 rzeczy.
Stres. Oczywiście na pewno jest tak, że jeżeli zbliża się deadline, to człowiek staje się niezwykle produktywny. Ale jeżeli jest tak, że musisz siedzieć do piątej rano i szef o tym nie wie, to moim zdaniem jest coś nie tak. Ludzie lubią przypisywać sobie nadludzkie możliwości. Jeżeli ktoś usłyszy: “po nieprzespanej nocy Twoja produktywność drastycznie maleje i dużo częściej będziesz popełniał błędy”, to mówi sobie: “może i tak, ale mi jedna noc nie zaszkodzi… zresztą wcale nie czuję się wcale zmęczony!”. Każdy lubie sobie mówić, że jego to nie dotyczy.
A prawda jest taka, że o ile podczas szybkiego “sprintu”, kiedy siedzisz po 10 godzin dziennie i zarywasz noce, może i zrobisz coś szybciej. Tylko istnieje duża szansa, że zrobisz wtedy więcej błędów albo coś źle zaprojektujesz i wtedy to co zyskałeś będziesz musiał stracić na poprawianie błędów i refaktoryzację. No dobra…. ale nie zawsze jest tak źle, prawda? Niekoniecznie trzeba zrobić aż tak dużo błędów? Może i nie, ale wszelkie badania wskazują na to, że czas potrzebny na regenerację jest dużo większy niż to co zyskałeś.
Jeżeli musisz zarwać noc albo jeszcze gorzej, robić tak przez dłuższy czas, to znaczy że coś jest nie tak i trzeba to poprawić. Jeżeli boisz się powiedzieć o tym szefowi, to śmiem twierdzić, że z szefem coś jest nie tak.