Nice article but what I think is you should have done this article little elaborately by adding references to each point. For example, in the point "Implement your own camera", you should have added some links to web pages related to the point. That may be helpful.
Then next thing I feel is you have mentioned the "reader" is just starting 3D programming(title). Why the "reader" has to do many of these steps when he/she is just starting 3D programming. That is not a correct method. Take for an example, why the beginner has to code a model loader while he/she can use easier alternatives such as Irrlicht or OGRE3D which has a built-in model loader. The "reader" is not a large game development company to create a custom game engine. If the beginner want really a large game engine use Unreal Engine or CryEngine. Why the "reader" should code a animation loader when it is a built-in feature in Irrlicht or OGRE3D. "Don't reinvent the wheel". All the points are useful but some points are not for a beginner.
Nice critic I also think I could have done better. I just today I was trying to write the second part. About a model loader I have to disagree I coded myself a simple OBJ loader in one night just by looking at the file structure, very simple also STL files are very simple. Also I have to recognize that other file formats are nearly impossible to code by a single person, 3DS file for example. I think it was fun at least by me to “reinvent” the wheel, it gave me a perspective I could not ever have if I just used it.