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