Dawno, dawno temu (czyli 10 lat doświadczeń temu), za górami, za lasami żył sobie młody programista z zerowym stażem. Jako młodemu, silnemu i dzielnemu wydawało mu się, że wiele może, a jeszcze więcej umie. Studiował akurat i myślał sobie, że skoro materiał studiów (przynajmniej ten dotyczący programowania) wciąga nosem i wypuszcza uszami, to w pracy może być tylko prościej…

Ponieważ staż miał zerowy, a pieniędzy niedużo, pracował sobie w dzień jako grafik komputerowy, a wieczorem jako programista Delphi (studiowanie pozostawił na czas weekendowy). Bycie grafikiem wychodziło mu już bokiem, ponieważ nie rozwiązywał w pracy poważnych problemów, a patrzenie na ścianę nie wychodziło mu za bardzo. Zdecydował się rzucić “grafikowanie” i zostać profesjonalnym (przynajmniej w jego mniemaniu) programistą. Jego ówczesny pracodawca chętnie na to przystąpił i nawet zgodził się płacić nie tylko za wykonywane zadania, ale również za czas spędzony na nauce.

Nadszedł pewien piękny dzień w życiu tegoż programisty w którym dowiedział się, że istnieje coś takiego jak konferencje programistyczne, oraz materiały szkoleniowe, idealne dla niego (mimo, że chyba nie rozumiał połowy z nich). Więc spędził cały dzień “ucząc się”… Czyli oglądając prezentacje. Wpisał to do raportu i szczęśliwy poszedł robić sobie kolację.

Wieczorem zadzwonił szef. Bardzo wyrozumiały człowiek oraz świetny nauczyciel. Rozmowa była długa i treściwa, ale ja postaram się ją streścić:

“[…]. W mojej pracy, na podobnym stanowisku jak, ja pracuje mój bardzo dobry kolega. Ostatnio postanowił się nauczyć WPF. W związku z tą nauką zaplanował sobie program komputerowy. Pomysł był dość prosty w założeniach, mianowicie chciał wykonać zegarek binarny. Zabrał się do nauki i robił po kolei drobne kroczki od “Hello World!”, przez pokazywanie obrazka w okolicy zegarka, aż zakończył na implementacji właśnie zegarka binarnego. Potem udostępnił program z kodem dla wszystkich w biurze. I to jest właśnie nauka, nauka poprzez doświadczenie i sprawdzenie możliwości wykonując konkretne z góry przyjęte proste założenia […]”

Sporo mnie to nauczyło, młodego kolesia. Od tej pory naprawdę starałem się i staram wykonać malutki programik dowodzący tezy. Nie pokazuję go zazwyczaj nikomu, bo w dzisiejszych czasach bardzo łatwo o krytykę, a celem pisania takich “wprawek” nie jest wystawianie ich na krytykę 🙂 Mam nadzieję, że ktoś również znajdzie w tym pokrzepienie i chętnie przystąpi do prototypowania zamiast tylko biernie patrzeć na przelatujące slajdy. To była pierwsza porada jaką kiedykolwiek otrzymałem od doświadczonego programisty i myślę, że zostanie ze mną do końca życia.

2 Replies to “Porada dotycząca uczenia się…

  1. Mimo że niekoniecznie nazwałbym siebie bardzo doświadczonym programistą to pozwolę sobie się zgodzić z powyższym w całej rozciągłości. Jakoś tak zawsze miałem, że upierałem się na uczenie się nowych rzeczy: języków, frameworków, bibliotek… Etap przeglądanie tutoriali i oglądanie slajdów był bardzo fajny i wzmagający zapał, ale dopóki nie decydowałem, że jakieś zagadnienie zrobię dla treningu w technologi X (nawet jeśli wiedziałem, że zajmie mi 3 dni, a w technologii Y bym to zrobił w 1,5h) to nie mogłem tak naprawdę nic o niej powiedzieć.

    Realizowanie nawet prostych (ale prostszych niż hello world albo TODO-list w świecie webowym) zadań do doskonała nauka, bo pozwala spojrzeć na jakość dokumentacji, społeczność, dostępne biblioteki itd. Choć pewnie zależy to od typu człowieka, to jednak generalnie wierzę, że nie można mówić, że czegoś się nauczyło, bez “pobrudzenia sobie rąk” przy jakimś konkretnym zadaniu.

    Pozdrawiam i życzę, żeby rzeczywiście ta myśl na całe życie została.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *