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/1118129385 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