Polub bloga na fejsie!

Juniorze! Ucz się języka, nie frameworka!

6

Już miałem dziś sobie odpuścić i nie publikować żadnego posta… Nie miałem dziś weny (pisałem to w środę wieczorem) ani mocy, żeby sklecić więcej niż kilka zdań. Z pomocą jednak przyszedł mi Maciek Aniserowicz, który od jakiegoś już czasu publikuje regularnie vlog na youtube. Tutaj znajdziesz jego kanał -moim zdaniem warto go śledzić, bo prawie codziennie pojawiają się ciekawe treści dla programistów. Ale wracając do tematu… Otóż jak codzień, obejrzałem jego nowe wideo i pod jego wpływem wpadłem na pomysł na tego krótkiego posta!

No dobra, zanim przejdę dalej, obejrzyj powyższy filmik (tylko 9 minut):

Już? OK. To teraz przejdę do tego o co mi chodzi!

Ucz się języka, a nie frameworka

Maciek w swoim filmie generalnie radzi, żeby na początku swojej przygody z programowaniem wziąć jakikolwiek framework i po prostu zacząć się go uczyć. No i tutaj się jak najbardziej zgadzam – na początku kariery nie znaczenia od czego zaczniesz. Oprócz tego w wideo pada też sformułowanie „framework driven development” i to na ten wątek chciałbym Ci przede wszystkim zwrócić uwagę w dzisiejszym wpisie.

Ogólnie rzecz biorąc już w kilku moich wcześniejszych wpisach (na przykład tutaj) zwracałem uwagę, że na początku swojej programistycznej „kariery” każdy programista powinien skupić się przede wszystkim na rozwinięciu swoich umiejętności programistycznych. Jednak zauważyłem, że bardzo wiele osób ma tendencję do skupianiu się tylko na klepaniu ficzerów w danym frameworku. Osoby takie nie przywiązują jednocześnie dużej wagi do tego jak coś działa i dlaczego.

Jak tak o tym dłużej pomyślę, to mam wrażenie, że taka sytuacja ma miejsce szczególnie przy frameworkach JavaScript… W sumie nie ma się czemu dziwić. Przez lata ten język miał wiele wad, które dopiero teraz, za sprawą ES6 i kolejnych wersji zostają powoli rozwiązywane. Nie jest więc szczególnie zaskakujące, że kolejne frameworki wprowadzały różne swoje mechanizmy mające „naprawić” to co w samym języku było złe lub niedorobione.

Dlaczego to ważne?

Powyższe powoduje, że bardzo łatwo jest, znając w miarę framework i korzystając ze wsparcia Stack Overflow, spokojnie przez dłuższy czas się „ślizgać”. Zadania wykonane? Wykonane! Szef zadowolony, kasa się zgadza i wszyscy zadowoleni…

Ale czy na dłuższą metę to się opłaca? Moim zdaniem średnio… Po pierwsze, tak jak było powiedziane w filmie – przykłady w dokumentacji frameworka mają za zadanie pokazać jego możliwości. Zdarzyć się może, że jako skrót myślowy będą tam zawarte jakieś anty-wzorce, których jako Junior lepiej żebyś nie powielał.

Po drugie, moim zdaniem jeśli umiesz wykorzystywać tylko framework, masz mniejsze szanse aby zrobić kolejny krok w swojej karierze. Jeśli znasz tylko framework, ciężko będzie Ci przeskoczyć do pracy w innym frameworku. Będzie tak jakbyś uczył się zupełnie nowego języka programowania. Znając natomiast dobrze język będzie Ci znacznie łatwiej… Tak przecież uczy się każdy człowiek: jeśli rozumie jak coś działa to znacznie łatwiej jest mu to zapamiętać.

Z tych właśnie powodów, na każdej rozmowie kwalifikacyjnej będziesz przepytywany raczej pod kątem dobrej znajomości danego języka programowania. Każdy rekruter wychodzi bowiem z założenia, że nawet jeśli pracowałeś przez lata np. w Angularze ale dobrze znasz JavaScript, to nie będzie dużego problemu abyś szybko nauczył się Reacta/Vue/Backbone (niepotrzebne skreślić) czy każdego innego frameworka używanego w danej firmie.

Podsumowanie

Dlatego też Juniorze… ucz się języka, a nie frameworka! Gwarantuję, że wyjdzie Ci to na zdrowie, Twoja kariera przyspieszy, a Ty sam będziesz czuł się pewniej czy to na kolejnych rozmowach kwalifikacyjnych czy po prostu na codzień, w pracy.

REACT, REDUX, REACT-ROUTER - KURSY ON-LINE

Chcesz od podstaw poznać tajniki React, Redux oraz react-router? Zapraszam do moich szkoleń on-line:

Przejdź do szkoleń
  • Andrzej

    The best language at the begging is English.😱

  • Jarema Antosz

    Hehe! Prędzej czy później trzeba będzie się nauczyć Java Scriptu 🙂 True 🙂

  • Tomasz Trzaskoma

    Generalnie jaknajbardziej zgadzam się z tym co napisałeś. Ale wszystko zależy także od wyboru danego framweroku. W takim angularze (1 bo 2 nie znam) na przykład używamy wbudowanych magicznych metod i niewiele nam to mówi o samym języku. Natomiast uważam, że akurat React jest świetnym sposobem na naukę natywnego JS. Żeby coś napisać w reacie potrzebujemy już pewnej znajomości języka. Przede wszystkim mamy klasy, konstruktor itp. Do korzystania na start potrzebujemy Arrow functions Object destructuring czy …spread operator. No i te wszystkie mapy filtry reducery . Oczywiście możemy też korzystać z gotowych komponentów i lodash i pewnie też się jakoś prześlizgnąć, ale serio uważam, że react to najlepszy sposób na naukę JSa.

    • faktycznie React bardziej uczy natywnego JS… ale tutaj moim zdaniem też łatwo pójść na łatwiznę i nauczyć się tylko pewnych powtarzalnych rozwiązań – wydaje mi się, że generalnie każdy Junior powinien od początku starać się dogłębnie zrozumieć co robi, wtedy faktycznie pozna język, a nie tylko framework

  • Jacob Babiuch

    Fajny wpis. Koniec kanapki 🙂
    Podpisze się pod opinią Tomka T. ,że framework może sprzyjać nauce samego JS lub innego języka kryjącego się pod frameworkiem. Często jest tak, że ucząc się jnie zabardzo mamy sposobność zobaczyć jego możliwości w tzw. „akcji”. Framework umożliwia nam wejście w świat magii praktycznie od razu. Gotowe paczki npm wraz z routingiem, fetchem, expresem,webpackiem i czego byśmy sobie nie wymyślili są na wyciągnięcie ręki. Gorzej jak coś pójdzie nie po naszej myśli. W tym miejscu uczący będzie musiał pochylić się nad lekturą i będzie wręcz zmuszony do przeanalizowania natywnego kodu. Pozatym, nie ma lepszego sposobu na naukę niż na własnych błędach.

    Znam osoby które robią ftp na produkcje, niemniej jednak, większość z nas ratuję się Git-em i te „antypaterny” mogą być wyłapane zanim fatality trafi na prod.

    Pozdr.

Google Analytics Alternative