I think even a novice programmer can start coding 3D games. However, start of with extremely simple games. Look through nehe's tutorials (I really dislike them, but there aren't many good ones as far as I know).
Just start off rendering some simple triangle.
A possible first game would be a 3D maze game where you have to find the exit. That's extremely easy to code, but quite fun as well.
Don't start off with an engine, though. Just code the game.
But as long as you're not *really* good at your programming language, don't expect to code top-notch games. But learning OpenGL simultaneous to the programming language is easy enough.