Najlepiej uczyć się w wielu źródeł. Wypisałem to w kolejności przypadkowej. Na przykład:
1) ebooki - czasem są za darmo (np. Eloquent Javascript, ebooki z codziennej promocji Packt)
2) kanały Youtube - i tego jest cała masa (Od zera do Webdeva, Samuraj programowania, kodu.je, hello roman, overment to jest 5 kanałów po polsku z webdevu, a pewnie jest więcej)
3) kursy online - i tu są darmowe (freeCodeCamp, CodeAcademy) i cała masa płatnych
4) książki papierowe - przy całej masie zawartości w internecie, czasem warto sobie siąść z książką, bo one często tłumaczą jak coś działa, a nie tylko pokazują, że działa jak w treściach online. Książki o algorytmach raczej szybko się nie starzeją.
5) OFICJALNA DOKUMENTACJA - jeśli uczysz się jakiejś konkretnej technologii to często oficjalne dokumentacje zawierają porady jak zacząć, proste samouczki, wiele przykładów gotowych rozwiązań z kodem. Oczywiście są lepsze i gorsze dokumentacje, ale moim zdaniem od pewnego poziomu nauki dokumentacja zawsze będzie numerem jeden.
6) fora internetowe takie jak tu lub inne jak Stackoverflow - jeśli utkniesz lub masz problem to na 99,999% ktoś wcześniej miał ten sam problem i na forach znajdują się rozwiązania, tylko trzeba ich poszukać.
7) WŁASNY PROJEKT - to powinno być coś co chcesz zbudować, cel nauki. Na przykład możesz chcieć zbudować prosty kalkulator (dodawanie, odejmowanie, itd..) a potem używać swojego zamiast tego, który masz w komputerze. Na początku własne projekty powinny być małe i proste.
8) portale z zadaniami do zakodowania - takie Codewars, SPOJ, daily programmer, gdzie masz krótkie zadania do zakodowania, głównie algorytmy.
9) Facebook i dołączenie do otwartych grup typu "HTML, CSS i JavaScript pierwsze kroki" i czytanie o co ludzie pytają i z czym mają problemy, jakie projekty pokazują
10) spotkania i warsztaty - ale te z reguły są tylko w dużych miastach i często są płatne i są bardzo rzadko
11) portale z udostępnionymi projektami - np. Codepen, Github gdize mozna obejrzeć sobie działający projekt i kod lub sam kod udostępniony publicznie
12) strony poświęcone językowi, blogi programistów - często zawierają super artykuły
Jest tego sporo i naprawdę brakuje czasu by skorzystać z tego wszystkiego :) a każdy punkt można by jeszcze rozwinąć.
I teraz NAJWAŻNIEJSZE najpierw musisz zastanowić się co chcesz programować (aplikacje, mobilki, webowe), bo to się znacznie różni miedzy sobą i dopiero wtedy zacząć szukać źródeł. WAŻNE jest też to, że jeśli zdecydujesz się np. na mobilki a za dwa lata zmieniasz zdanie i pójdziesz w webowe programowanie to nie ma problemu i większość wiedzy będzie ta sama, tylko detale języków i technologii będą inne, czyli po takiej zmianie dużo szybciej dojdziesz do poziomu jaki miałem we wcześniejszych rzeczach które robiłeś.