A thought that flowed through my mind recently, is how do you know when you are ready to start developing? How do you know if you're ready to start hacking?
Some might be tempted to start spouting requirements:
While those dependencies certainly have their place, the best answer I have found (and I admit that it isn't original):
you will know that you are ready when you stop asking "am I ready", and start doing it.

Just do it.