Now I know why every Automattician should start with happiness engineering. After helping out on WP.org forums, #wordpress IRC channel (now Slack) and contributing to WordPress Core they better understand the real user needs/problems. This problem solving hugely helped me with learning. Support has more real life scenarios that I can come up during learning. Hello world examples are too simple to acquire experience.
Wanna get better, then first try helping others. Best way to create outstanding software. At the end the end user is the consumer of the software so it should serve him and for that the developer should know the struggles of the user.
I also found some similar thoughts in the How WordPress Taught Me To Be a Better Developer blog post.