Nauka przez rozwijanie projektu

17.08.2017 AUTOR: Piotr Trybalski

Drogi jakie można obrać w procesie nauki programowania zostały omówione w jednym z poprzednich artykułów. Jeśli go czytaliście to dowiedzieliście się, że opcji do wyboru jest kilka.

Tym razem rozwinę nieco bardziej jeden ze wspomnianych sposobów zdobywania wiedzy, który moim zdaniem zasługuje na poświęcenie większej uwagi.

Mowa o uczeniu się na własną rękę w domu wykorzystując do tego dostępne w Internecie materiały zarówno te darmowe jak i odpłatne.

Poruszam tą kwestię, jako że jest najbliższa memu cynicznemu sercu. Budzi ona też wiele wątpliwości wśród najbardziej początkujących i niemałe kontrowersje wśród tych bardziej doświadczonych osób. Wynika to z tego, że samokształcenie w domu można podzielić na dwa główne nurty, które charakteryzują się innym zestawem wad i zalet: pisanie kodu pod ćwiczenia znalezione w sieci w celu opanowywania kolejnych obszarów w tejże dziedzinie, bądź rozwijanie własnego, małego projektu zmuszając siebie do szukania rozwiązań na napotkane i realne problemy.

Ja od samego początku byłem zwolennikiem rozwijania własnego projektu w celu zdobywania praktycznej wiedzy, którą mógłbym zastosować na prawdziwe problemy. Oczywiście nie zakładałem, że mały testowy projekcik, który ma mi służyć bardziej jako poligon, przerodzi się w całkiem ciekawą stronę, która będzie mi dostarczać dodatkowy dochód z reklam.

 

Mimo, że obrałem konkretną drogą na podnoszenie swoich kwalifikacji, to jednak w tym rozrachunku postaram się zachować obiektywizm.

NAUKA POPRZEZ ROZWIJANIE PROJEKTU

Zalety:

  • Uczycie się nie tylko komend i ich struktur, ale również konstrukcji całej strony i wynikających z tego powodu ograniczeń;
  • Poznajecie prawdziwe sytuacje i problemy wymagające zastosowania konkretnych rozwiązań. Odkrywacie, że każdy problem można rozwiązać na wiele sposobów, a dobór narzędzi zależy od indywidualnego przypadku;
  • Uczycie się szukania w sieci rozwiązań i odpowiedzi na pojawiające się pytania;
  • Zmuszacie sami siebie do drążenia danego tematu tak długo, aż zastosowane rozwiązanie będzie satysfakcjonujące;
  • Rozwój projektu jest mechanizmem napędzającym chęć poszerzania wiedzy. Macie pomysły na ulepszenie niektórych obszarów, co daje większą motywację na podnoszenie własnych kwalifikacji;

Wady:

  • Zdobywana wiedza nie jest w żaden sposób zorganizowana czy ustandaryzowana. Informacje są pozyskiwane chaotycznie w zależności od potrzeby;
  • Napotkanie większego problemu, rozwiązanie którego może okazać się dość trudne, może w pewnym momencie zdemotywować do rozwoju projektu, a tym samym do samorozwoju;
  • Poleganie na zasadzie “ważne, że działa”, co jest częstym zjawiskiem wśród początkujących, może z czasem doprowadzić do nabycia złych nawyków programistycznych;

NAUKA PRZEZ REALIZOWANIE ĆWICZEŃ

Zalety:

  • Nauka jest o wiele bardziej regularna i ustandaryzowana, polegająca na stopniowym odkrywaniu mankamentów poszczególnych rozwiązań;
  • Ćwiczenia nierzadko są połączone z teorią, co w dobry sposób pokazuje szersze pojęcie omawianych kwestii, a czego nie zawsze może dokonać praktyka sama w sobie;
  • Wiedza przeważnie jest czerpana ze sprawdzonych źródeł, co pozwala uniknąć w przyszłości błędnych praktyk i przyzwyczajeń;
  • Kolejne etapy w ćwiczeniach są często dobrze zbalansowane pod kątem poziomu trudności. Co oznacza, że ich autorzy dbają o to by nie rzucać użytkownika na głęboką wodę. Taka praktyka ma pozytywny wpływ na motywację do kontynuowania nauki;

Wady:

  • Wiele ćwiczeń i przykładów jest oderwanych od rzeczywistości. To nie znaczy, że omawiane problemy są sztuczne. Jednak samo realizowanie ćwiczeń bez stosowania wiedzy w projekcie może mieć zły wpływ na umiejętność wykorzystywania nabytej wiedzy;
  • Zdarza się, że ćwiczenia nie są należycie wytłumaczone, co czasem skutkuje tym, że i tak trzeba szukać dodatkowych informacji w Internecie na własną rękę.

Podsumowanie:

Podsumowując żadna z dróg nie jest ani właściwa, ani błędna. Każdy z początkujących musi sobie sam odpowiedzieć na pytanie jaki sposób woli bardziej. Zalecam skorzystanie z obu sposobów, by bardziej wczuć się w klimat. Oczywiście nic nie stoi na przeszkodzie, by style zdobywania wiedzy ze sobą mieszać, takie programistyczne MMA :).

Realizowanie ćwiczeń na pewno jest dobrym sposobem na zdobywanie czystej i niczym nie skrępowanej wiedzy. Jednak nic po niej bez umiejętności stosowania jej w prawdziwych sytuacjach i projektach. Bo jeśli chcecie zmonetyzować tą umiejętność w dowolny sposób, na przykład idąc na etat, to bez realizacji własnych projektów i tak się nie obejdzie. Więc, klawiatury w dłoń i do dzieła!

Artykuł powstał dzięki:

Coders Lab

Łącząc doświadczenie edukacyjne ze znajomością rynku pracy IT, Coders Lab umożliwia szybkie i efektywne zdobycie pożądanych kompetencji związanych z nowymi technologiami. Skupia się się na przekazywaniu praktycznych umiejętności, które w pierwszej kolejności są przydatne u pracodawców.

Wszystkie kursy odbywają się na bazie autorskich materiałów, takich samych niezależnie od miejsca kursu. Dzięki dbałości o jakość kursów oraz uczestnictwie w programie Career Lab, 82% z absolwentów znajduje zatrudnienie w nowym zawodzie w ciągu 3 miesięcy od zakończenia kursu.


CONNECTIS_

+48 22 222 5000
[email protected]

Złota 59
00-120 Warszawa

CONNECTIS_ jest spółką technologiczną świadczącą usługi z zakresu outsourcingu specjalistów, zespołów projektowych oraz procesów IT.


CONNECTIS_
łączy wyjątkowe doświadczenie, kompleksową znajomość branży oraz kompetencje specjalistów z klientami, aby pomóc im usprawniać projekty informatyczne i zwiększać wydajność procesów biznesowych.

Współpracujemy na szeroką skalę z liderami branżowymi w całej Europie z sektora m.in. finansowego, IT, konsultingowego, ubezpieczeniowego, energetycznego oraz telekomunikacyjnego. Codziennie wspieramy ich ponad 350 specjalistami w strategicznych projektach informatycznych.

Do góry!

Polecane artykuły

22.09.2020

Comarch e-Sale, jako e-commerce na dobry ...