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