Ryan Levick is a self-taught developer, here's how he did it.
howtoholdapencil.com