To nauka różnego rodzaju wzorców (wzorce projektowe, architektury, gotowe sposoby na popularne problemy) i elementów języków programowania (typy generyczne, refleksje, wielowątkowość, asynchroniczność)
Traktuj języki tak jak montażyści traktują programy do montowania
Każdy jest troche inny, ale mają mase wspólnych cech
Najbardziej wartościowa jest osoba znająca jeden dobrze + podstawy innych
try to learn something about everything and everything about something
Wielu początkujących o tym zapomina i skupiają się na jednym języku, bez spojrzenia na inne, "bo na forum powiedzieli że ważna jest specjalizacja"
To prawda, ważna jest specjalizacja, ale ważny jest też podstawowy szeroki pogląd, warto wiedzieć jak to wygląda "u innych", a często można przy takim badaniu innych możliwości, sporo się nauczyć
Ja jestem przykładem osoby która przez pierwszy rok nauki programowania dała sobie za cel dobrze zbadać różne dziedziny, żeby później wiedzieć że to co robie, jest tym co rzeczywiście chcę robić, a nie skupiam się na czymś, bo nie znam innych opcji
Przykładowo - zaczynając, przez pierwsze miesiące byłem "programistą html" i nie wyobrażałem sobie robienia backendu, teraz skupiam się głównie na robieniu backendu
No i też takie przeskoki potrafią troche nauczyć, bo poradniki do każdego z języków skupiają się na czymś innym, troche inne priorytety będzie miał poradnik do pythona, inne do frameworka php (np symfony), a inne do androida w javie
Ja byłbym za przerobieniem poradników w podstawowym zakresie do każdej z dziedzin, które cie interesują, np od aplikacji internetowych, przez gamedev, aż po desktop, mobilne i inne, jakie ci przyjdą na myśl, że mogą być fajne
Będziesz później mógł świadomie zdecydować co chcesz robić, bez "a ciekawe jak to jest z inną... technologią" (technologie to nie dziewczyny, tu akurat możesz przetestować dużo bez konsekwencji i wybrać tą najlepszą)