sobota, 16 marca 2019

Dlaczego wideotutoriale nie zrobi膮 z Ciebie programisty


Wchodz膮c ostatnio na YouTube, zauwa偶y艂em 偶e od dawna nie ogl膮dam tutoriali. Ostatnie nagrania techniczne, jakie widzia艂em, to kurs Angulara od Kudvenkat i Acemind. Regularnie ogl膮dam wszystko co wrzuca Gynvael Coldwind. Tymczasem, takie znakomite kana艂y, jak:
  • NetNinja
  • Codevolution
  • Traversy Media
  • Learn Code Academy
  • Coding train
  • Mariusz Jurczenko
  • Rem Zolotykh
  • itd.
le偶膮 od艂ogiem. Sk膮d ta niech臋膰 do ogl膮dania tutoriali? Moim zdaniem, ta metoda nauki programowania, jest kiepska!

Wi臋kszo艣膰 kana艂贸w o programowaniu webowym, skupia si臋 na podstawach, rzeczach, kt贸re mo偶na wyczyta膰 z pierwszej strony dokumentacji na dany temat. Z tutoriala nauczymy si臋 tego, co mo偶na bardzo 艂atwo znale藕膰, natomiast „na projekcie”, trzeba znacznie wg艂臋bi膰 si臋 w temat.
Przyjmowanie informacji w formie tutoriala, jest ma艂o efektywne. Autorzy cz臋sto trac膮 czas na omawianie zupe艂nych podstaw (jak instalacja Node), co zajmuje p贸艂 filmu. Co wi臋cej, spisywanie kodu z ekranu, potrafi by膰 r贸wnie trudne, co wyczyny cyrkowe, poniewa偶 prowadz膮cy wyk艂ad, potrafi na przyk艂ad ukry膰 kod u艂amek sekundy po jego wklejeniu. Wspominam o wklejeniu, poniewa偶 bardzo rzadko autor porywa si臋 na wpisywanie kodu „z palca”. Je艣li ju偶 kod jest pisany r臋cznie, to autor musi pochwali膰 si臋 perfekcyjnym poznaniem sztuki robienia 3 liter贸wek w ka偶dym wyrazie.
Je艣li w pracy chcesz skorzysta膰 z rozwi膮zania wskazanego przez autora, zmarnujesz mn贸stwo czasu na przegl膮danie filmu w poszukiwaniu odpowiedniego fragmentu kodu. Pozostaje mie膰 nadziej臋, 偶e autor wrzuci艂 kod tutoriala na og贸lnodost臋pne repozytorium.
Pozytywnym wyr贸偶nikiem tutaj jest Kudvenkat, kt贸ry do ka偶dego filmu wrzuca link do posta na blogu oraz kodu 藕r贸d艂owego.
Kolejnym zarzutem odno艣nie do tutoriali z YT, jest fakt, 偶e rozwi膮zuj膮 one konkretny problem, ale nie m贸wi膮 nic o tym, dlaczego zosta艂o u偶yte dane rozwi膮zanie. Autorzy id膮 utart膮 艣cie偶k膮, zamiast tak, jak przy t艂umaczeniu rozgrywki szachowej przez eksperta, wskazywa膰 inne mo偶liwo艣ci i omawia膰 mo偶liwe niuanse.
Aplikacje powstaj膮ce w takich poradnikach s膮 prawie zawsze bardzo ma艂e i budowane od zera. Nie przek艂ada si臋 to na nasz膮 p贸藕niejsz膮 wiedz臋 o tym, jak rozbudowywa膰 du偶e projekty lub jak si臋 w nich odnale藕膰.
Autorzy tutoriali, jak na przyk艂ad Brad Traversy, cz臋sto nie s膮 programistami na pe艂ny etat – zarabiaj膮 na afiliacjii i tworzeniu tre艣ci.
Na koniec chcia艂em wspomnie膰 o z艂ych praktykach w tutorialach tego typu. Nieporadne korzystanie z edytora (mouse-driven development) i systemu operacyjnego to najcz臋stszy z nich.
Autorzy tutoriali cz臋sto robi膮 rzeczy w z艂ej kolejno艣ci.
Przyk艂ad – wiele tutoriali z JS, zaczyna si臋 od instalowania kilkudziesi臋ciu paczek NPM z konsoli, bez informowania o tym, dlaczego s膮 one potrzebne. Lepszym rozwi膮zaniem by艂o by umieszczenie przez autora linku do pobrania pliku package.json, dzi臋ki czemu, s艂uchacz m贸g艂by zaoszcz臋dzi膰 czas na zabawy z cmd.
Autorzy bardzo rzadko pokazuj膮 jak korzysta膰 z dokumentacji, czy chocia偶 skorzysta膰 z opcji podpowiedzi w edytorze. Pocz膮tkuj膮cy widz, mo偶e mie膰 wra偶enie, 偶e nazwy wszystkich funkcji i przyjmowane przez nie parametry, powinien mie膰 w g艂owie. W 偶adnym z tutoriali (pomijaj膮c te dotycz膮ce samego Gita), kt贸re obejrza艂em do tej pory, nie doszuka艂em si臋 te偶 wersjonowania kodu.
Niestety, ale problemy, kt贸re wymieni艂em wy偶ej, dotykaj膮 nie tylko nawet najlepsze kana艂y na YT, ale tak偶e (chocia偶 w mniejszej mierze), kursy p艂atne.
W jednym z kolejnych wpis贸w postaram si臋 om贸wi膰 lepsze metody nauki.

Brak komentarzy:

Prze艣lij komentarz