Coś się, coś się zepsuło i wysyłałem do Nikoli zamiast na listę, więc wysyłam jeszcze raz.
Też miałem takie rozterki. Najważniejsze to zrozumieć 2 rzeczy:
1. Wbrew pozorom w tych całych konkuterach jest mało wiedzy domenowej, czytaj: wiedza z jednego zakresu na 90% przyda się w wielu innych. Rozumiesz jak działają procesor i pamięć? Super! Będzie Ci łatwiej zarządzać pamięcią w C. Śmigasz w React jak żyd po pustym sklepie? Jeszcze lepiej, bo przesiadka na Vue albo rozpoczęcie pracy w Node będzie formalnością. Takie przykłady można można wymieniać do znudzenia. No i trzeba się też pogodzić że raczej nikt z nas nie zostanie Denisem Ritchie'm czy tam innym Torvaldsem - każda z gałęzi informatyki w ogóle jest bardzo rozbudowana, a im głębiej poznajesz którąkolwiek z nich, tym intensywniejsze jest wrażenie że tak na prawdę wiesz bardzo mało.
2. Podstawa to napierdalanie. Owszem, można zostać "fremework developerem", odklepać swoje 8h i rozjebać się na kanapie jak żaba na liściu, ale prędko zostanie się w tyle. Nie chodzi tu bynajmniej o uczenie się biblioteki standardowej języka na pamięć albo czytanie o wywołaniach systemowych - chociaż tak też można i niektórzy tak rzeczywiście robią. Z resztą sam zacząłem naukę C od przeczytania "Język C" Praty od deski do deski, co teraz uważam za stratę czasu. Należy się zagłębiać w to co się robi, starać się zrozumieć jak coś działa "pod spodem" i dlaczego w ogóle działa, zamiast tylko FRAMEWORK ROBI BRRRR HEHE PIP INSTALL
Moim zdaniem nie ma dużego sensu żeby ktokolwiek Ci wskazywał czego konkretnie się uczyć - po prostu zgłębiaj się w to co aktualnie robisz, staraj się rozkminić jak zrobić to lepiej, reszta przyjdzie sama :D
Pzdr, Kacper
śr., 29 kwi 2020 o 17:30 Nikola Adamus przez Lodz lodz@lists.hackerspace.pl napisał(a):
No ok, ale z czego mam się uczyć? Czytałam o systemach operacyjnych ( https://www.amazon.com/Operating-System-Concepts-Binder-Version/dp/111812938... próbowałam się przebić przez to), o tym jak działają procesory. Wszystko spoko, moge czytać tylko często jest tak, że połowa do mnie nie dociera, bo mam za mało zrozumienia innych tematów albo myślę, że rozumiem, a potem i tak nie zostaje w głowie? Nie wiem trochę jak to lepiej wytłumaczyć. Jasne, siedzę na Linuxie tylko ot trochę mało chyba (zwłaszcza, że nie robię jakiś nietrywalnych rzeczy, pracuję na nim po prostu i użytkuję).
Może spróbuję usiąść nad C# skoro chcę coś spróbować napisać w Unity?
On Wed, 29 Apr 2020 at 14:59, Jacek Wielemborek wielemborekj1@gmail.com wrote:
Hej,
Dla ciągłości: ten wątek jest kontynuacją tego wątku: https://lists.hackerspace.pl/pipermail/lodz/2020-April/000113.html - na przyszłość użyj opcji "odpowiedz" do samej siebie, to będzie w tym samym wątku.
Zacznę od disclaimera: nie chcę brać odpowiedzialności za te rady, ale mi się sprawdziło :D
Kiedy spojrzysz sobie na oferty pracy, można odnieść wrażenie, że można je podzielić na dobrze płatne/łatwo dostępne (obecnie chyba JS/Java/C#) i "fajne" (dla mnie byłby to low level, devops, sieci, embedded, inżynieria oprogramowania). Zignoruj to, co cię nie interesuje. Niby wydaje się że szybciej na tym zarobisz, ale w rzeczywistości zdążysz się wypalić zanim opcja "mniej popularne rzeczy" zacznie być bardziej opłacalna. W IT praktycznie wszystko na swój sposób łączy się ze sobą, dlatego żadna wiedza nei jest bezużyteczna - nawet jeśli nie pasuje do typu pracy którą chcesz wykonywać. Jeżeli planujesz długoterminową naukę, oferty pracy mogą być spoko jako kompas, ale na pewno nie mapa - całość zbyt szybko się zmienia.
Fajnie, że wiesz co chcesz robić. Z mojej perspektywy masz tu dwie "ścieżki": jedna jest bardziej "szeroka"/wiedzo-chłonna (systemy operacyjne, sieci komputerowe - ja tu czuję, że mogę łykać książkę za książką i łatwo mi tę wiedzę aplikować). O drugiej wspomniałaś w poprzednim mailu: algorytmy, struktury danych, wzorce projektowe - w moim przypadku gdyby nie studia, byłoby mi ciężko ogarnąć te tematy bo na wielu pojęciach musiałem się zatrzymać, zrobić jakąś testową implementację i dopiero wtedy czułem że "rozumiem".
W praktyce potrzebujesz rozwijać się w obu tych obszarach. Skup się na tym, jakie masz pytania podczas nauki i obserwuj je - mówią Ci one, co Cię interesuje i tu będziesz zbierała wiedzę najszybciej.
Co do programowania funkcyjnego, polecam języki z rodziny Lispa (CL/Scheme/Clojure). Mają bardzo prostą składnię, nie są takie "matematyczne" jak Lisp i mogą Ci dać sensowne zrozumienie, o co chodzi w kodzeniu funkcyjnym. Napisanie własnego Lispa to też bardzo rozwijające ćwiczenie :)
Co do Unity i C#, moja szybka uwaga to: oddziel naukę języka od nauki frameworka. Kiedy np. siądziesz do Unity nie znając C#, możesz poczuć się zagubiona, bo będziesz zadawać sobie pytanie "co tu jest idiomatyczne dla tego języka, a co dla bibliotek". Ja to bardzo czułem przy programowaniu w Django.
A co do sieci, administracji i kontenerów, przejrzyj książki Heliona. Nic konkretnego nie mogę polecić, ale jeżeli możesz wytrzymać kilka godzin czytania i trafisz na dobrą książkę, możesz szybko dostać uporządkowaną wiedzę na dany temat. Blogi też są bardzo spoko. Ja często przeglądam hacker news: https://news.ycombinator.com
Also, polecam założyć sobie zeszyt, oznaczyć go jako "#1" i notować tam swoje postępy w nauce. Nawet jeśli pierwszy ma być 16-kartkowy i w trzylinię - zapisanie zdobytą go może dać ci poczucie osiągnięcia i wyznaczyć dalszy kierunek. No i troszkę lżej jest z typowym dla naszej pracy syndromem oszusta, kiedy masz już parę materialnych dowodów, że włożyłaś długie godziny w naukę ;)
Daj znać, co Ty na tę odpowiedź - jeżeli czujesz, że ma dla Ciebie sens, mogę jakiś temat dodatkowo rozwinąć.
~d33ath
śr., 29 kwi 2020 o 09:28 Nikola Adamus przez Lodz lodz@lists.hackerspace.pl napisał(a):
Co mi sprawia frajdę:
- zawsze chciałam się nauczyć jakiegoś języka funkcyjnego
(Haskell/Elixir/Erlang) bo podobają mi się, ale nigdy nie wyszłam dalej, niż Hello World, bo mi mózg wybucha
- chcę spróbować się pouczyć Unity i C#, żeby może jakąś małą gierkę
zrobić (ale nie mam pojęcia jak mi to pójdzie)
- administracja, kontenery etc zawsze wydawały mi się ciekawe, ale mam
wrażenie, że moja bardzo mało wiedza o sieciach i całej reszcie przeszkadza skutecznej nauce czegokolwiek
Nikola
Lodz mailing list Lodz@lists.hackerspace.pl https://lists.hackerspace.pl/mailman/listinfo/lodz
-- Lodz mailing list Lodz@lists.hackerspace.pl https://lists.hackerspace.pl/mailman/listinfo/lodz