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