Myself, I'm still slowly learning. Coding came out of necessity. I've been working for different technical support jobs for pretty much my whole adult life, and started off trying to automate a couple of things around the office, and then for clients (a PHP script that generated a regex which configured a client's email account in Outlook Express, for example).
I created a couple of useful things which gradually became more complex - a little voicemail queue (where we'd enter client messages and then call them from the top, in a cycle), then generated a map of our client's locations using google maps, etc.
Nowadays I'm fairly fluent in JavaScript, VBScript (don't laugh!), and I'm gradually learning Python simply because it's something that I need to learn for a project. I'm not a professional coder by any definition, I "get by" with a little help from my friend (who IS a hacker).
So my advice would probably just be "go your own speed, on your own highway". It really depends on your needs.