Uwielbiam świat JavaScript – wystarczy spojrzeć w lewo a już pojawiają się dwa nowe frameworki, trzy nowe biblioteki, 10 nowych problemów i tysiące rozwiązań. W innych językach nie jest to aż tak to widoczne, może dlatego, że tyle ludzi z nich nie korzysta? Nie wiem. Ale niezależnie od tego jaki język się wybierze, to jedno jest pewne. Biblioteki i frameworki ulegają zmianie. Tworzą się nowe, stare umierają, zmieniają właścicieli, z darmowego OS stają się produktami płatnymi mogącymi wyżywić 50 programistów pracujących na kontrakt po 9K euro miesięcznie.

Świat jest dziwny. Nie mówię tutaj o zarobkach w IT, bo jesteśmy grupą uprzywilejowaną. Przynajmniej na razie. To się zmieni. Ale to temat na inne dywagacje. To co jest dziwne, w tym naszym świecie, to, to że rzucamy się na nowe biblioteki jak wygłodniałe wilki na swoją zdobycz. Piszemy o nich setki postów, odpowiadamy na pytania, jesteśmy w świetle uwagi i w ogóle. Tylko potem przychodzi taki moment, że ktoś się nas spyta: czym się różni wątek od procesu? Co to jest SOLID? Co to jest obiekt? Na czym polega Event Sourcing? A my otwieramy usta i albo lejemy wodę jak się tylko da, albo pozostają one tak otwarte do póki nie padnie kolejne pytanie.

Co z tego, że potrafimy bibliotekę X na pamięć, jak już sama kwestia testowania jednostkowego powoduje u nas gęsią skórkę i strach, że nie będziemy potrafić tego zrobić. Im dłużej siedzę w IT, tym bardziej zauważam, że nie liczy się to co jest aktualnie na TOPie jako biblioteki, frameworki itp., ale liczą się podstawy. Liczy się wiedza o tym jak to jest zbudowane i na jakiej zasadzie to działa. Co to jest SOLID, co to jest wątek. Jak działa HTTP itp.

Znając podstawy, potrafiąc i rozumiejąc ich działanie, jesteśmy wstanie zrozumieć i pojąć działanie wszystkiego z czym będziemy mieli styczność w IT. Co z tego, że nie wiemy jak jest cykl strony w ASP.NET WebForms, skoro jestem wstanie naszkicować mniej więcej jak to wygląda znając wiedząc jedynie w jaki sposób działa obsługa requestu po stronie serwera webowego. Do tego, z czasem, będziemy rozszerzać naszą wiedzę o coraz to nowsze doświadczenia. Dzięki czemu, nasza wartość rośnie. Rośnie znacząco. Za 4-6 lat nie sprzeda się kursu z xUnit bo go pewnie nuż nie będzie, ale kurs o testowaniu? już tak. To jest widza, która stanowi podstawy. Skoro wiemy jak testować i jakie są zasady testów, to jaki język nie wybierzemy, z jakiej to biblioteki korzystać nie będziemy, będziemy wstanie to oprogramować.

Nasza wiedza, która teraz zaczyna kiełkować, za 10 lat pozwoli nam zgarniać żniwo – a to dlatego, że będziemy rozumieć pojęcia i procesy, których nie da się opanować będąc specem od biblioteki X (no chyba, że się ją samemu napisało). Już teraz można zaobserwować, jak ludzie, którzy od 2000 roku budowali swoją wiedzę, zaczynają ją sprzedawać. To zaczyna już teraz procentować a i będzie coraz bardziej z każdym rokiem. Programistów na razie przybywa (do jakiegoś momentu, kiedy to będziemy zamienieni na AI), i każdego trzeba przeszkolić, nie z biblioteki X, bo tego się sam nauczy. A jak po studniach informatycznych nie potrafi samemu nauczyć się API biblioteki to raczej nie ma co szukać pracy w programowaniu. Ale z tego, co wymaga lat praktyki i gromadzenia – wiedzy na temat wytwarzania oprogramowania, wiedzy na temat paradygmatów programowania itp.

To wszystko wraca, warto więc, będąc młodym nie tylko uczyć się bibliotek, ale dowiedzieć się na jakiej zasadzie one działają, czemu one tak działają, jakie wzorce wykorzystują i do czego mogą służyć. Szukać i dowiadywać się więcej na określone paradygmaty, rozszerzać swoją wiedzę. Przy czym cały czas praktykować – pisać kod. Ale na pewno nie kończyć na laurach bycia najlepszym z biblioteki X. Bo to nic nie znaczy.

10 KOMENTARZE

  1. Komentarz od starego zgreda z IT z boku od dev – te wszystkie nowości mają jeden problem; UTRZYMANIE. Dev by chcieli tylko w nowych i wspaniałych i najlepiej każdy projekt inaczej. Realia potem są takie, że ktoś to musi utrzymywać. Jeżeli mamy 20 aplikacji w firmie nie można sobie pozwolić na to, żeby każda była napisana inaczej bo chcieliśmy spróbować. Albo inaczej – można sobie na to pozwolić tylko trzeba wiedzieć jaki będzie tego koszt. O!

    • jasne, to tyczy wykorzystania najnowszych bibliotek – w pełni się zgadzam. Jednak chodzi o to, ktoś architekturę tego rozwiązania i tak musi “wymyślić” :) A kto miałby ją wymyślić jak wszyscy będą znali jedynie biblioteki a nikt nie będzie wiedział co to jest wzorzec? ;)

    • Otóż to. Jako frontendowieci z łakomym kąsem patrze na te wszystkie nowinki, jakie pojawiają się na rynku. Tu Angular, tam react a gdzie jeszcze indziej Vue i z wszystkich nowinek chciałoby sie od razu sprawdzić i przetestować. Tymczasem życie podsuwa zupełnie inne problemy i trzeba znaleźć kompromisy pomiędzy nowinkami a utrzymaniem dotychczzasowej technologii – tutaj nie tylko liczy się aspekt zespołu, który musi być gotów na zmiany ale też aspekt biznesu – a ten nie zawsze jest gotowy na szybki skok w nowe technologie..

      Dlatego do wszystkiego podchodzę z dystansem – chłodnym okiem ocenić to, co jest faktyczni przydatne teraz i w najbliższym czasie :).

    • Jak na razie sam wszystko w mojej grupie utrzymuję (oprogramowanie) i każdy nowy program piszę w innym języku. Warto spróbować, bo to mnie nauczyło jednego. Generalnie obojętnie jaki język wybierzemy, byleby był komfortowy dla wszystkich, oraz, mam z grubsza rozeznanie, że jak chcę prosty serwis, to jednak nodeJS a nie MVC.

  2. Dokładnie! Niby oczywista sprawa, szukać, dochodzić jak coś działa od podstaw, a jednak zgubiona w pędzie za nowościami.

  3. Od jakiegoś czasu zaczyna to do mnie trafiać. Ale nie tylko w programowanie, w wielu płaszczyznach życia, sporcie, pracy, solidne fundamenty dają na prawdę dużo.

    • jak najbardziej. nie tylko w programowaniu się to przydaje. problem chyba też jest w nauczycielach, że oni tego nie potrafią dobrze przekazać.

  4. Ja osobiście mam wrażenie, że niespecjalnie opłaca się inwestować swój czas w te nowe super technologie (chyba, że z ciekawości w ramach rozrywki). Firmy z nowych technologi zaczynają korzystać po roku czy dwóch. Jest to po prostu tańsze z ich punktu widzenia, bo nowinka jest już wtedy stabilna, w sieci zdążyło pojawić się sporo materiałów na jej temat no i inni już ją wytestowali czy faktycznie jest taka użyteczna. Firm “nie stać” na eksperymenty z nowościami, bo to znacznie wydłuża proces produkcji. A jak widać, na przykładzie chociażby wspomnianego JS, po roku czy dwóch już z kolei jest wiele innych “super nowości”, a z czasem pewnie będzie to pędzić jeszcze szybciej i nikt nie jest w stanie za tym nadążyć i poznać wszystko. Lepiej przeczekać, zobaczyć która z tego nawału nowych technologii w miarę ugruntuje swoją pozycję na rynku i dopiero wtedy zacząć się jej uczyć, a najlepiej próbować zastosować gdzieś w pracy, żeby móc się uczyć w godzinach pracy ;)

Comments are closed.