Depending on whether or not you want to make this your profession later on (Im just going to assume you're thinking about it and this isnt just a hobby thing), here's what I found to be extremely effective:
- Start small
It's been said before, but i'll say it again - start with small bits, familiarize yourself with an engine, a framework, a tool or program. Once you got the basics down -> go bigger.
- Learn EVERYthing
This might seem a bit extreme, but what I mean is learn as much as you can about EVERY aspect of the game development - no matter whether or not you'Re a coder, artist or designer. Knowing the pipeline is key to building things in the most efficient way.
If you're implementing a weapon -> design it, concept it, model it, implement it, code it! You obviously do not need to be a Grade A concept artist,designer and Pipeline nerd - but you should be familiar with all the tools of the process, and understand each step of the creation.
Also, check out the game websites for news and updates in the business - gamasutra.com, kotaku etc all have great articles on both business and technique topics. Don't limit yourself to just one field of development - soak up ALL the knowledge you can get :)
- Fail often, fail hard.
You'll suck at what you're doing. In the beginning. It's always like that (believe me, I know. :D), but it'll get only better if you keep on going and NEVER cease to look for ways to improve your work. The internet is a great source for tutorials,references and help. You'll never be truly stuck, so embarge on the craziest ideas, fail, learn from your mistakes and become more badass with that process.
- Talk to people!
While the internet is a great source, getting face-to-face feedback is something you'll have to deal with on the job ALOT. So improving your soft skills is important as well. If you don't have a mentor yet, or in general dont know too many people working in the industry then you should look around your area for indie dev meet ups, go to conventions, and check for other events where you can start to build a personal network of knowledge and contacts.
It also helps to build something with other people - self-taught is great, but game development is a team-based game, so check the forums for hobby project - for example the Epic Forum for UDK projects, Unity forums or even the CryEngine Forums -all three of those engines are widely spread, there's a truckload of talented people working on side-projects there, and they're mostly also keen on learning new stuff.
I think that's pretty much all the advice I can give. I hope this helped you in some way :)