Blog Dla Młodszych Programistów C#/.NET

W pracy programisty przyjęło się zakładać, że trzeba umieć wszystko od razu. Tylko w ten sposób można dostać dobrze płatną pracę, realizować najlepsze i najbardziej kreatywne zlecenia i wykazać się, by inni dostrzegli potencjał. Nie zawsze jednak jest to prawdą. Takie podejście częściej bowiem spowalnia i ogranicza, niż tworzy realne możliwości rozwoju. Do programowania – tak jak do każdej dziedziny, warto podejść mądrze. Najważniejsze w tym zawodzie jest, by umieć odnaleźć się w każdej sytuacji i umieć rozwiązywać różne często nowe problemy.

Just In Time Learning – Nie Ucz Się Programowania Na Pamięć

Programowania nie uczy się na pamięć


Mimo, że programowanie sprowadza się do wpisywania kodu przy użyciu wybranego przez programistę języka, nie znaczy to, że przy użyciu tych rozwiązań stworzy się ciekawy i efektywny program czy aplikację. Nawet, jeśli pewne sposoby sprawdzają się w wielu przypadkach i można je stosować, nie należy liczyć na to, że będą one działały za każdym razem. Również pojawiające się problemy nie zawsze dają się rozwiązać przy pomocy tych samym narzędzi.

Jeśli tworzy się program czy aplikację lub próbuje się usunąć problem, który wielokrotnie się pojawiał, nie zawsze znane działania znajdą zastosowanie. Trudno też nauczyć się wszystkich dostępnych sposobów pisania kodu czy eliminowania problemów. Jest ich za dużo i praktycznie każdy specjalista ma swój indywidualny styl, który w jego przypadku się sprawdza, a w innych sytuacjach może zawodzić. Mierząc się z jakąkolwiek trudnością warto sięgać po dodatkową wiedzę.

Można szukać pomocy i wsparcia w takich źródłach, jak:
  • literatura fachowa,
  • publikacje w czasopismach specjalistycznych,
  • fora internetowe,
  • porady specjalistów,
  • konsultacje z innymi programistami,
  • kursy i szkolenia,
  • webinary.
Powszechny dostęp do wiedzy i fakt, że można skorzystać z niej w dowolnym momencie sprawia, że programista zmagający się z nowym zagadnieniem, może korzystać z każdego dostępnego źródła, by nauczyć się tego, czego dotychczas nie wiedział.

W ten sposób uczy się na bieżąco i wtedy, kiedy faktycznie jest mu to potrzebne. Metoda Just in time learning stanowi więc pewnego rodzaju oszczędność czasu. Daje też możliwość podnoszenia kwalifikacji w takim zakresie, w jakim faktycznie będą wykorzystywane.


Dobry programista nie musi wiedzieć wszystkiego


Niezależnie od branży, w której się pracuje, dokłada się wszelkich starań, aby postrzegano pracownika jako kompetentnego, wykształconego i zorientowanego w swojej dziedzinie. To prowadzi do przekonania, że trzeba wiedzieć wszystko na dany temat lub trudno jest nazwać się specjalistą. Wiąże się to również z obawą o to, że na miejsce pracownika, który nie posiada kompleksowej wiedzy, pojawi się ktoś, kto będzie wiedział więcej. Choć takie ryzyko występuje zawsze, trudno jest je w jakikolwiek sposób wyeliminować.

W dziedzinie tak dynamicznie rozwijającej się, jak programowanie, trudno jest opanować wszystkie informacje, dane czy też zasady i metody pracy. Choć ciągłe kształcenie i podnoszenie swoich kwalifikacji jest ważne, to lepiej jest skoncentrować się na konkretnych zagadnieniach, które potrzebne są do lepszego wykonywania powierzonych obowiązków.

Chcąc otrzymać awans, lepiej płatne zlecenia lub chcąc wyróżniać się na tle innych pracowników, nie można się ograniczać do tych umiejętności, które się już posiada. Nauka wszystkiego jednocześnie, uczenie się pamięciowe, nie pomagają w pracy programisty.


Just in time learning w teorii


Just in time learning pokazuje, że nie warto, a nawet nie trzeba uczyć się wszystkiego. Jeśli ktoś był w stanie opanować bez trudu pewne rzeczy, to i innych będzie się umiał nauczyć. Nie musi robić tego od razu. W programowaniu nie da się bowiem nauczyć niczego na zapas. Tym bardziej, że czas jest obecnie na wagę złota i można go lepiej zagospodarować.

Just in time learning jest metodą polegającą na uczeniu się wówczas, gdy wybrane umiejętności są najbardziej potrzebne. Przykładem tego może być sytuacja, w której otrzymuje się dodatkowe obowiązki, awansuje na wyższe stanowisko, czy też dostaje do realizacji projekt, który trzeba wykonać w sposób inny, niż ten, który stosowano dotychczas. Przydzielenie zadania wykraczającego poza posiadane kompetencje stanowi najlepszy moment na to, aby kształcić się właśnie w tym obszarze.

Może to sprowadzać się do zapisania się na kurs czy przeczytanie dostępnych materiałów na dany temat. Nie trzeba natomiast w chwili, w której myśli się o podjęciu pracy na stanowisku programisty, jednocześnie uczyć się wszystkiego. Niezależnie bowiem od miejsca, w którym programista się znajduje, trudno jest przewidzieć, które umiejętności będą najbardziej przydatne.

Może się okazać, że kursy (tym bardziej jeżeli są słabej jakości), w które zainwestowało się czas i pieniądze, będą zupełnie nieprzydatne, bo w firmie inaczej realizuje się pewne projekty. Warto inwestować w dalszy rozwój wtedy, kiedy faktycznie nowe kompetencje są potrzebne lub gdy myśli się o awansie. W kształceniu przy pomocy metody Just in time ważniejszy jest zatem refleks i spostrzegawczość (by dostrzec to, co będzie potrzebne), niż sama chęć do nauki.


Większa czujność


Stosowanie metody just in time learning wymaga nie tylko świadomości swoich ograniczeń czy braków w posiadanej wiedzy. To również konieczność zachowania większej czujności, dzięki której można w porę dostrzec swoje braki i w odpowiednim czasie je uzupełnić. Nie każdy jednak umie ocenić, jak rozległa jest jego wiedza. Często zanim się to określi, popełnia się kolejne błędy lub traci czas na stosowanie rozwiązań czy sposobów, które nie zawsze się sprawdzają.

Stosując metodę Just in time learning warto uporządkować swoją wiedzę. Realizując dany projekt i napotykając pewne trudności należy od razu sięgnąć do źródła po potrzebne informacje. W ten sposób, nawet jeśli się o czymś zapomniało, szybciej odświeży się wiedzę, a tym samym łatwiej będzie naprawić problem czy napisać dany kod przy pomocy bardziej efektywnych metod.

Decydując się na metodę nauki Just in time należy odpowiednio wcześnie ocenić, czy z danym problemem lub zadaniem można sobie poradzić przy pomocy wiedzy, którą się posiada. Co więcej, pozwala to ograniczyć ryzyko wymyślania tego samego sposobu od nowa. Może się bowiem okazać, że ktoś już wcześniej nauczył się radzić sobie z daną sytuacją i wystarczy zastosować to samo rozwiązanie. Nauka w systemie Just in time nie polega wyłącznie na pozyskiwaniu nowych informacji, ale również na umiejętnym wyszukiwaniu odpowiedzi na pytania, które już zostały wcześniej przez kogoś zadane.


Just in time learning – pułapki


Choć metoda Just in time learning przy pracy programisty sprawdza się doskonale, to należy mieć świadomość, że nie można jej zaufać całkowicie. Zwłaszcza, gdy dopiero zaczyna się zdobywać wiedzę w dziedzinie programowania. Metoda ta jest bowiem dobra dla osób, które mają już podstawową wiedzę, opanowały wybrany język i są w stanie samodzielnie programować i tworzyć dobrze działające rozwiązania. Jeśli zatem ktoś dopiero uczy się podstaw, nie może oczekiwać, że metoda Just in time, będzie dla niego odpowiednia. Bez znajomości najważniejszych założeń, bez wiedzy o zasadach stosowania wybranego języka, praca przy programie czy aplikacji będzie znacznie wydłużona. Braki w podstawach będą dostrzegalne na każdym etapie pracy.

Metoda Just in time learning zdecydowanie lepiej sprawdzi się, gdy programista dysponuje odpowiednią wiedzą i doświadczeniem, a jedynie chce dalej się rozwijać i poszerzać swoje umiejętności. Wynika to z faktu, że o ile bez podstawowych informacji trudno jest odnaleźć się w zawodzie, o tyle bardziej szczegółowe dane, konkretne rozwiązania czy sposoby na rozwiązywanie pojawiających się problemów można opanować w chwili, w której faktycznie jest to potrzebne.

Wystarczy wiedzieć, gdzie szukać potrzebnego wsparcia. Ważne jest także, by uświadomić sobie, że w dziedzinie programowania nigdy nie nauczy się wszystkiego. W zależności od języka programowania należy określić podstawy i niezbędne informacje, które są potrzebne do tego, by w sposób profesjonalny i kompetentny wykonywać powierzone obowiązki, a pozostałe, bardziej szczegółowe informacje na temat konkretnych zagadnień pozyskiwać wtedy, kiedy jest to potrzebne.

Just in time learning nie zastępuje tradycyjnej nauki, ale daje możliwość odciążenia umysłu i nie wymaga tego, by wiedzieć wszystkiego o wszystkim. Jest to zdecydowanie bardziej efektywna forma kształcenia. Zapewnia dostęp do tej wiedzy, która w danej pracy jest faktycznie potrzebna.


Podsumowanie


Kluczem do sukcesu w zawodzie programisty jest efektywność i racjonalność w działaniu. Nie sztuką jest opanować wszystkie niezbędne do pracy informacje i zasady. Sztuką jest wybrać te podstawowe, bez których wykonywanie powierzonych obowiązków jest niemożliwe, a później dopasowanie i poszerzanie swojej wiedzy – w zależności od potrzeb. W ten sposób zwiększa się elastyczność programisty, a optymalizowanie wiedzy pozwala na lepsze opanowanie materiału, który w danym momencie pomaga w poprawnym wykonaniu zlecenia.

Nie trzeba zatem umieć wszystkiego od razu. Trzeba jednak wiedzieć, skąd wiadomości czerpać, gdzie się edukować i w jakim zakresie. Mitem jest bowiem przekonanie, że od programisty oczekuje się wiedzy o wszystkim. Oczekuje się od niego przede wszystkim tego, że stworzone przez niego rozwiązanie będzie działać sprawnie, będzie intuicyjne i skuteczne, a gdy pojawią się jakiekolwiek problemy, będzie wiedział, jak je usunąć.

To wszystkie na dzisiaj. Jeżeli taki artykuł Ci się spodobał, to koniecznie dołącz do mojej społeczności – darmowe zapisy, gdzie będziesz również miał dostęp do dodatkowych materiałów i przede wszystkim bonusów. Do zobaczenia w kolejnym artykule.

Poprzedni artykuł - Dlaczego Nie Warto Zaczynać Kariery Programistycznej Od Pracy Zdalnej?
Autor artykułu:
Kazimierz Szpin
Kazimierz Szpin
Programista C#/.NET. Specjalizuje się w ASP.NET Core, ASP.NET MVC, ASP.NET Web API, Blazor, WPF oraz Windows Forms.
Autor bloga ModestProgrammer.pl
Dodaj komentarz

Wyszukiwarka

© Copyright 2022 modestprogrammer.pl. Wszelkie prawa zastrzeżone. Polityka prywatności. Design by Kazimierz Szpin