Most programers use API's so when they're rendering or drawing 3D shapes/objs they are using something like DirectX or OpenGL to do that stuff for them...
1) so their first job is to use the API to reliably draw and put things on the screen to build the basic structure of the game engine which handles putting things on the screen.
2) An API however will not really help you cycle through the character animations to have the character walk/run/talk etc.
So they must create a "character engine" to handle the animations
3) Also, the API's won't help you that much with effects like explosions/rain/particles/smoke those require a bit of math and insight.
4)Movement and physics are also key in making a believable game and API's are not much help there - you can buy a 3rd party Physics system but not many small orgs do that.
5)and the AI - that is something that won't be made by a pre-existing API.
6) Finally - there is the UI or controls and buttons and interfaces that make up the game.