Podstawowa wiedza potrzebna przy nietuzinkowych projektach

0

Obecnie pracuję jako Java developer w raczej standardowych technologiach jak Spring/Spring Boot/JPA/Maven + relacyjne/NoSQL bazy danych itp.

Podchodzę jednak do tematu ambitnie i z pasją, zdaję sobie sprawę, że cały stack technologii/projektów w jakich na razie pracuję jest raczej bardziej klepaniem formatek (ale nie klepię u Janusza tylko w dużej zachodniej korpo ;)). Chciałbym kiedyś na pewnym etapie pracować przy bardziej złożonych projektach wymagających wiedzy inżynierskiej z jaką miało się do czynienia na studiach.

Dlatego powoli staram się zdobywać wiedzę z rzeczy, które raczej są niezależne od języka programowania, a przydatne przy poważnych projektach.
na razie przyszło mi do głowy to:

  1. Algorytmy i struktury danych: wiadomo podstawa, przerobiłem kurs z MIT: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/
  2. Architektury komputerów: jak działa pamięć itp. np. https://www.akkadia.org/drepper/cpumemory.pdf
  3. Concurrency: Java Concurrency in Practice, może jakieś książki z parallel computing?
  4. Systemy operacyjne
  5. Sieci: jak działa TCP/IP pod maską
  6. Matematyka dyskretna np. teoria grafów, podstawy kryptografii?
  7. Elektronika ?

Jak widać, materiału do nauki jest mnóstwo, a czas ograniczony.

Czy warto też ćwiczyć umysł/analityczne myślenie np. rozwiązując zagadki logiczne, zadania na logikę, aby poprawić zdolności analityczne?
W firmach jak Facebook/Google kładą na to spory nacisk przy rekrutacji.

Pytanie do doświadczonych @Shalom:
Czy wiedza, którą wymieniłem przydała Ci się do efektywnej pracy w ESA i CERNie? ;) Zdaję sobie sprawę, że zespół jest bardzo duży w takich projektach.

Czy te rzeczy, które wymieniłem są niezbędne przy pracy np. w HFT?

Z góry dzięki.

0

Nie jestem doświadczony, ale się wypowiem. Fajnie jest znać to wszystko mniej więcej co tam się dzieje pod spodem, ale jednak w 8h dziennie nie da rady jednocześnie tworzyć REST API, programować mikrokontrolerów, wymyślać nowe teorie matematyczne lub administrować sieć.

1

Za dużo chcesz umieć. Skup się na jednym, reszte pobieżnie, będziesz się douczał "as you go". Nie rozumiem jeszcze czy chcesz pracować w CERN, HFT czy w czym :D?

Taka rada jeszcze mała - ucz się praktycznej wiedzy, olej trudną teorię. Masz mieć fach w ręku. To powinno być mało % teorii i duzo % praktyki, eksperymentów, prób. Przecież jak sie uczysz np. jazdy na łyżwach, to nie czytasz książek:

  1. O frezowaniu
  2. O termodynamice
  3. O fizjologii człowieka
  4. O psychologii tłumu
  5. O medycynie
  6. O zasadach jazdy na lodowisku

Zakładasz łyżwy i próbujesz się nie wy***.

1

Taka rada jeszcze mała - ucz się praktycznej wiedzy, olej trudną teorię. Masz mieć fach w ręku.

Jeśli facet jest ambitny i chce się rozwijać inaczej niż klepanie kolejnego webserwisu dla Janusza, to takie rady są niepotrzebne. Poza tym skoro pracuje to ma ten "fach w ręku", a jego pytanie dotyczy czegoś innego.

Ja w wolnych chwilach czytam o optyce i astronomii, probuję też zebrać zespół do budowy jakiegoś mini-łazika. Kurczę... życie jest za krótkie żeby uczyć się tylko tego co jest w danej chwili potrzebne, bo wtedy Twój czas wypełniają czynności związane z pracą (taką typu UoP).

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