Just wondering if you've checked out Project Anarchy at all? The engine is C++ based and it ships with a lot of documentation. Developers can get up and running quite quickly and there are many samples you can read and modify to help with learning before having to understand everything that's going on in the background.
While some of the others aren't wrong here in that you can learn a lot by building something from scratch, that can also be quite daunting. There's a fair amount to consider when putting an engine together and with an existing engine, the ability to read a demo, make some changes and see the effect that has in your game quite quickly, often provides you with with impetus needed to keep you moving forward to completing your own project.