Irracjonalna obawa

1

Hej,
Miewał ktoś z Was strach przed zapomnieniem technologii, języka itp.?
Trochę to może nieracjonalna obawa, ale zajmując się teraz trochę inną technologią (Kubernetes) mam obawy, że jak się na nim skupię, to zaniedbam i w konsekwencji zapomnę innych zagadnień/technologii.

Jak sobie z tym radzić?

3
NeutrinoSpinZero napisał(a):

Miewał ktoś z Was strach przed zapomnieniem technologii, języka itp.?

Strachem bym tego nie nazwał, ale nieprzyjemną świadomość, że to się stanie prędzej czy później - owszem.

Jeszcze bardziej nieprzyjemna jest świadomość, że to jest raczej nieuniknione, gdybym chciał przypominać sobie wszystkie technologie i języki, o które się kiedykolwiek otarłem, na tyle często by zatrzymać erozję wiedzy... no, może by się udało odratować połowę gdybym poza pracą nie spał, nie jadł, nie sprzątał, nie robił zakupów, nie wchodził na 4p (choć poniekąd można sobie co nieco odświeżyć jak np. ktoś walczy z czymś, co robiłeś parę lat temu) i zamiast komunikacji miejskiej używał teleportacji lub świstoklika ;)

Jak sobie z tym radzić?

Nijak, chyba że masz czas odświeżać sobie to i owo w międzyczasie, a jeszcze lepiej - masz po co :P

2

Kilka miesięcy temu skończyłem aplikację na zlecenie napisaną w Javie i Angularze.
Ostatnio ciągle siedzę w Pythonie.
Zostałem poproszony o zmodyfikowanie jednej funkcjonalności i szczerze mówiąc trochę się musiałem zastanawiać jak zrobić dość prostą rzecz i stąd mój niepokój - zapomnieć kochaną Javkę :( ?
A odświeżać wiedzy nie mogę tak jak napisałeś @superdurszlak bo faktycznie życia nie starczy.

Chyba najważniejsze to uczyć się konceptu i kontekstu, jakichś uniwersalnych wzorców i abstrakcji.

1

Jest powiedzenie: Nie zapomina się jazdy na rowerze.
Programowanie jest trudne, dlatego to normalne, że im krócej z czymś pracowałeś, tym wcześniej skomplikowane, specyficzne szczegóły zapomnisz.
Jakby programowanie było łatwe to programowałby każdy. Wróć, nie programowałby każdy, bo wtedy programista zarabiałby mniej od wykładacza kosmetyków w Rossmanie.

8
BraVolt napisał(a):

Jest powiedzenie: Nie zapomina się jazdy na rowerze.

Porównałbym zapominanie „technologii” do zapominania gry na fortepianie (czy czymkolwiek innym).
Można zapomnieć jak grać z pamięci jakiś utwór, jeśli się go przez lata nie grało. Ale nie da się zapomnieć samej umiejętności gry na fortepianie.

2

Można zapomnieć gry na instrumencie kiedy nigdy się tak naprawdę nie nauczyło na nim grać.

1
NeutrinoSpinZero napisał(a):

Kilka miesięcy temu skończyłem aplikację na zlecenie napisaną w Javie i Angularze.
Ostatnio ciągle siedzę w Pythonie.

No to może weź znowu jakieś zlecenie? ;)

zapomnieć kochaną Javkę :( ?

Otrzyj się o jeszcze kilka języków i przestanie być aż tak kochana :]

Chyba najważniejsze to uczyć się konceptu i kontekstu, jakichś uniwersalnych wzorców i abstrakcji.

Koncepcje i kontekst są bardzo ważne. Każdy język to tak naprawdę jakaś mieszanka różnych koncepcji, jak model wykonania (kompilacja do kodu maszynowego vs interpretacja vs JIT vs maszyna wirtualna...), model zarządzania pamięcią, model wielowątkowości, paradygmat, to jak bardzo abstrakcyjny może być język + jakaś biblioteka standardowa. Składnia jako zestaw słów kluczowych i konwencji to właściwie szczegół, który może ułatwić albo utrudnić pracę z językiem albo stosowanie konkretnego podejścia.

Biada temu, kto wykuje składnię, wykuje formułki, wykuje powszechnie uznawane "dobre praktyki", a nie wyrobi sobie jakiejś takiej umiejętności łapania kontekstu i poruszania się w obrębie tych wszystkich koncepcji i myślenia na trochę wyższym / niższym (to działa w dwie strony) poziomie abstrakcji, niż implementacja tu i teraz i widzenie wyłącznie kodu jako takiego ;)

2
superdurszlak napisał(a):
NeutrinoSpinZero napisał(a):

zapomnieć kochaną Javkę :( ?

Otrzyj się o jeszcze kilka języków i przestanie być aż tak kochana :]

Javka, pierwsza dziewczyna. Miała to być ta wspaniała, na zawsze i jedyna
A później były inne i doświadczeń przybyło ;)

3
NeutrinoSpinZero napisał(a):

Hej,
Miewał ktoś z Was strach przed zapomnieniem technologii, języka itp.?

Zapominanie nieużywanej technologii jest najbardziej okej.

Kilka miesięcy temu skończyłem aplikację na zlecenie napisaną w Javie i Angularze.
Ostatnio ciągle siedzę w Pythonie.
Zostałem poproszony o zmodyfikowanie jednej funkcjonalności i szczerze mówiąc trochę się musiałem zastanawiać jak zrobić dość prostą rzecz i stąd mój niepokój - zapomnieć kochaną Javkę

Jak chcesz znać jednocześnie Javę i Pythona na poziomie "produkcyjnym" (tak, żebyś był zawsze gotowy do pracy bez konieczności przypominania podstaw), to powinieneś używać obu tych języków naraz i uzupełniać na bieżąco wiedzę w nich (swoją drogą kilkumiesięczna przerwa to niewiele, więc jak znasz jakiś język na dobrym poziomie, to kilka miesięcy nieużywania nie powinno mieć to znaczenia. Gorzej jeśli to kilka lat jest)

Ale z drugiej strony czy koniecznie musisz wszystkie języki, których się uczyłeś, znać i pamiętać? Specjalizacja nie jest zła i to naturalne, że jak używasz Pythona, a nie Javy, to zapomnisz Javę, a przesiąkniesz Pythonem (co nie będzie takie złe, bo nie będziesz musiał zawracać sobie głowy Javą. Kwestie czasowe - czy chcesz się rozwijać w kierunku Pythona, czy w kierunku Javy, czy w obu).

Czyli trzeba wybrać specjalizację, języki, w których chce się być dobrym. Czyli wybór ścieżki kariery, strony, w której chcesz się rozwijać, zamiast nierealnego dążenia, żeby pamiętać wszystko.

4

Jak już wspomniano, to nieuniknione. Szczegóły szybko z głowy ulatują. Na szczęscie to tylko margines umiejętności programisty. Najważniejsze,czyli umiejętność rozwiązywania problemów jest niezależna od technologii.Im bardziej jest rozwinięta tym znajomość konkretnej technologii staje się bardziej marginalna (tj. wdrożenie w nią jest szybsze). Poniekąd to zjawisko ma dobre strony, za każdym razem gdy wracasz masz świeżą perspektywę, to bardzo cenne.

2

Wszystkie emocje mają to do siebie, że są irracjonalne. Ja bym się zastanowił skąd wzięła się taka obawa. Może chodzić np. o to, że "Poświęcę czas na coś i okaże się, że ta technologia się nie przyda, a ja nic nie umiem i wszyscy pomyślą, że żaden ze mnie programista i tylko klikam w ten komputer".
Polecam przypomnieć sobie początki programowania. Okazuje się, że najpierw zaczynaliśmy naukę programowania a pasja przyszła potem. Czyli można odnaleźć pasję w tym, co już się robiło, ona przychodzi z czasem. Skoro kiedyś już mogła się ta pasja pojawić, to może zrobić to kolejny raz.

1
Azarien napisał(a):
BraVolt napisał(a):

Jest powiedzenie: Nie zapomina się jazdy na rowerze.

Porównałbym zapominanie „technologii” do zapominania gry na fortepianie (czy czymkolwiek innym).
Można zapomnieć jak grać z pamięci jakiś utwór, jeśli się go przez lata nie grało. Ale nie da się zapomnieć samej umiejętności gry na fortepianie.

Da się. Widzę że nigdy nie grałeś na fortepianie. Do gry na fortepianie musisz ćwiczyć palce prawie codziennie. To tak jak z grą na gitarze. Po kilku latach bez grania nie zagrasz praktycznie nic wymagającego ponieważ twoje palce nie będą w formie.

2

Ja miałem taką obawę. Przez kilka lat zmuszałem się do nauki codziennie z książek. Mam dobrą pamięć, a mimo to torturowałem się tą nauką i miałem takie postanowienie, żeby zapamiętać wszystko, o czym czytam. Na przykład mimo braku problemów ze zrozumieniem i z zapamiętaniem analizowałem serię "You don't know JS" przez kilka miesięcy. Czytałem trzecią książkę dwa razy pod rząd, a w połowie czwartej wróciłem z powrotem do pierwszej, żeby zacząć wszystkie od początku. Przy dojściu do szóstej pomyślałem, że jak z tym nie wyluzuję, to mi odbije.

Teraz podchodzę do tego inaczej. Czytam szybko i nie staram się zapamiętać wszystkiego. Myślę, że lepiej poznać możliwości danego języka lub technologii, a w lepszym stopniu zapamiętać i przećwiczyć tylko to, czego się akurat potrzebuje lub jest interesujące. Jeżeli będę czegoś potrzebował, to do tego wrócę, bo wiem, gdzie o tym czytałem.

3
Burmistrz napisał(a):

Mam dobrą pamięć, a mimo to torturowałem się tą nauką

Masz dobrą pamięć, jesteś zdolniejszy w tematach ścisłych, abstrakcyjnych od przeciętnych ludzi.
Męczyłeś się bo nie uświadamiałeś sobie, że w tej branży są (w większości) dość dobrzy w te klocki. Poprzeczka przyswajania wiedzy, wymagań porównywania się z innymi, mimo że jest na średnim tutejszym poziomie, to mimo wszystko jest zawieszona dość wysoko.

Moim zdaniem lekarz, prawnik ma dużo wyżej ustawioną poprzeczkę od programisty, jednak programowanie nie jest to mała i łatwa wiedza do szybkiego przyswojenia albo do wykucia raz na zawsze przez zawziętych kujonów.

3
BraVolt napisał(a):

Męczyłeś się bo nie uświadamiałeś sobie, że w tej branży są (w większości) dość dobrzy w te klocki.

Powiedziałbym, że było raczej na odwrót. Najpierw myślałem, że inni są bardzo dobrzy i trudno będzie ich dogonić, a później rozczarowanie, bo okazało się, że jednak nie są aż tacy dobrzy. Ale rozumiem, że nie każdy ma czas na torturowanie się analizowaniem książek i zapamiętywaniem każdego szczegółu. Niektórzy chyba wolą korzystać z życia.

1

@Burmistrz: Dla jednych kodowanie to życie, dla drugich kodowanie to zarabianie na życie.

1

Dobra - podam przykład z życia wzięty. Zaczynałem programować od Turbo Pascala niemal 20 lat temu. Przestałem w nim cokolwiek pisąć tak z 12 lat temu. Czy bym coś teraz w nim napisał? Na pewno bym potrzebował jakiegoś podręcznika/dokumentu standardu by sobie co nieco przypomnieć. Ale nie sądzę by zajęło to jakoś tragicznie długo przypomnieć sobie co i jak się tam robiło. C++ w zasadzie też nie tykałem od jakichś hmm 7 lat. Tam jednakoż miałby to i owo do nadrobienia w związku z nowszymi standardami, ale do rozumienia czytanego kodu jako tako (spaghetti happens) też jakoś tragicznie długo by pewnie nie zajęło. IMHO przy najbardziej porytych językach+bibliotekach+frameworkach powrót do przyzwoicie podstawowej formy to kwestia góra kilku miesięcy (powiedzmy typowego okresu próbnego).Wszak nijak nie startuje się tu od zera.

2

Ta jak z powiedzeniem przypisywanym Heraklitowi z Efezu:
"Nie można dwa razy wejść do tej samej rzeki, bo już inne napłynęły w nią wody".
Technologii się nie zapomina, ale po paru latach to już jest inna technologia i nie jest się już w niej na topie.
Tak to już działa. Podobnie jak gwiazdy, których światło oglądamy, frameworki od których odchodzimy są już martwe.
Ludzie mówią: nie liczą się frameworki, tylko znajomość języka.
Dla mnie to jest bzdura, bo nowego języka można się nauczyć w pół dnia (samego języka), pod warunkiem, że zna się już jakiś oparty o dany paradygmat. Z drugiej strony nauczenie się środowiska, frameworku, zagadnień szczegółowych, wyjątków, bibliotek itp., to jest kluczowe przy efektywnej pracy w danej technologii (zakładam, że zna się ogólne zasady programowania)

Człowiek się pociesza: Pracowałem w C# x lat temu, teraz szybko się wdrożę.
Jest to prawda, ale rewers tej monety jest taki, że te lata doświadczenia sprawiają,
że równie szybko się wdrożysz w każda inną technologię.

1

Nie używasz, zapominasz. Na przykład angielski, w liceum nieźle, po paru latach pracy w rodzimym small biznesie zostało ledwo czytanie dokumentacji.

5

Dla mnie programowanie dzieli się na dwie części:

  1. Ogólne zrozumiemie co to klasa, jakie są wzorce projektowe, że czysta architektura i czysty kod mają być.
  2. Technikalia czyli jak napisać tą klasę, gdzie postawić średnik i jaka jest kolejność w parze nazwa: typ.

Pierwszych rzeczy nie zapominam. Drugie - często. Zwłaszcza jak na zmianę programuję w Scali i Javie (np półroczne-roczne okresy nie używania jednej technologii). Ale nie martwie się tym, bo technikalia łatwo wyszukać ponownie

1 użytkowników online, w tym zalogowanych: 0, gości: 1