Solo per gettare in una prospettiva diversa:
Anche se molte persone dicono, solo la codifica ti insegna la codifica, ci sono (abbastanza spesso) volte che torno a casa dopo aver programmato per 8 ore e l'ultima cosa che vorrei fare è sedermi (di nuovo) davanti al mio PC e codificare le mie cose.
Sarebbe meglio per le mie capacità di programmazione farlo? Può essere. Sarebbe meglio per me stesso? Non lo so, ognuno è diverso. Molte cose diverse possono essere più importanti della programmazione: bambini, fidanzata, famiglia, hobby, qualunque cosa.
Preferisco le cose più teoriche dopo il lavoro: leggi un libro su alcune cose interessanti, impara qualche CS teorico, qualunque cosa. Basta non sedersi (di nuovo) davanti al mio pc.
Non hai mai fatto nulla con i database? Leggi qualcosa al riguardo. Complessità computazionale degli algoritmi? Scavaci dentro. Programmazione funzionale? Cose folli da fare. Ci sono tonnellate di cose che possono essere fatte solo con un foglio di carta e un libro mentre ci si rilassa su una spiaggia.
Ogni tanto penso a me stesso: Wow, costruire il tuo videogioco sarebbe divertente. Poi tiro fuori questo grosso mucchio di carta e scrivo insieme tutte quelle cose fantastiche che mi vengono in mente. Poi esco per la ricerca, cerco cose che posso usare per raggiungere i miei obiettivi, costruire grandi edifici teorici, buttarli via, costruirne di nuovi e così via. L'idea andrà mai nel codice? Non lo so. Forse tra 30 anni quando sarò in pensione :-)
Una cosa è importante:
Sii curioso di cose nuove. Anche se hai appena letto tutte quelle cose folli, pensa a te stesso: dove sarebbe davvero bello essere usato? Quali problemi nella programmazione quotidiana può risolvere? Forse uno di questi pensieri fuggirà e ti porterà sul tuo PC di casa per hackerarlo nel codice. Ma non forzarti.