For me, it's hard to learn by making useless things. Without any impact for users, I have no motivation to make correct design decisions.
No offence if you enjoy this sort of thing though, of course. Just not my bag.
Give me someone who needs me to build something I don't already know how to build, though, and I will figure that shit out.
I've been lucky that this has worked out well for me so far, but it means I need to always try to get on projects with unfamiliar things or take new jobs involving unfamiliar things, or I'll have a really hard time expanding my skillset.
Oh, and school sucked.