Próbuj różnych technologii! Różnych języków, różnych engine'ów, bibliotek. Ucz się z różnych podręczników i tutoriali, nawet jeśli będą się powtarzać, to zawsze gdzieś wyłowisz jakaś dodatkową informację, trik czy coś, pominięty gdzie indziej. Inaczej utkniesz i się zniechęcisz. Takie skakanie to namiastka doświadczenia praktycznego i wymiany informacji z innymi programistami, a jeśli jesteś samoukiem, to tych rzeczy szybko nie zdobędziesz.
Znajomość różnych języków programowania pomaga zrozumieć każdy z tych języków lepiej, niż gdybyś ograniczał się tylko do tego jednego języka. Widzę to po sobie.