Comment on: How do I refine my programming?
I found looking at other peoples code helped me a lot with the learning process (make sure they have some sort of standards set for pull requests). I self-taught myself programming when i was younger by looking through visual basic 6 project sources. Open source software would be ideal. You could contribute to open source projects maybe even start one of your own. You should read up on Git and or SVN if you plan on contributing to open source projects. If you mainly plan on using github, using git is a must. Even if you aren't contributing to github or anything you should incorperate some sort of version control system into your projects. it will make your life a lot easier.
yeah don't be afraid to join in an IRC chat or something and ask for constructive criticism