My recommendation is to dive in and code the simplest thing you can think of. When I first started this, I built a software voxel renderer, isometric, using just a pixel buffer (the original intention was to be able to dynamically create isometric pixel art).
http://www.gavanw.com/uploads/9/5/4/0/9540564/218641_orig.pn...
I later ported it to the GPU (much harder, and much much faster).
I am mostly "self taught" but would be lying if I said the wealth of information on the web did not help (particularly when hitting obscure bugs). Anyhow, the point is the best part of the journey, in my opinion, is discovering things for yourself, even if you are reinventing the wheel. :)
[1] http://www.voxelquest.com/uploads/9/5/4/0/9540564/5660133_or...
https://www.youtube.com/watch?v=av994EHazuo
You'll want to try and avoid its mistakes!
[1] http://www.voxelquest.com/news/how-does-it-work
[2] http://www.voxelquest.com/news/how-does-voxel-quest-work-now...