Well I'd say it really depends on exactly what features you want to implement in your game. Take UDK for example (which I've made two projects with - not alone of course): With UDK what you basically do, is you're creating a game based on whats already there and that is for example a UT Deathmatch. So you write new classes or change existing ones, until you've turned that Deathmatch into whatever game you want to have. In theory it's even possible (and it has been done) to turn it into a 2D - sidescroller, but the further you go away from the already implemented First-person-shooter mechanic, the harder it gets in the coding department. Some things can be done with Kismet and Matinee (node-based scripting), others require you to code in unreal script.
(For example replacing the standard UT bots with your own meshes and animations requires a change in the classes if I remember correctly)
Some things might be almost impossible or unnessecarily complicated to do, because, well, UDK is not the same thing as the actual licensed Unreal Engine - you don't have access to the engine source code. (please correct me if I'm wrong - I'm an artist, not a coder
)
The art pipeline is pretty straightforward in UDK, you can import meshes as fbx, ase or obj and animations are imported using the ActorX plugin for 3ds max and Maya. The Node based Material Editor is a pretty powerful tool
too, as is the Particle Editor.
It also depends on what YOU want to learn. Because "making a game" is...um...like saying you want to learn how to build a skyscraper from scratch. It's theoretically not impossible, but there are so many different skills involved that it would take you a lifetime to learn them all. Not to mention the sheer workload thats waiting for you
(There's a reason Minecrafts default textures and animations are very simple ^^) So if youre mostly interested in creating 3D assets and animations, you should obviously use an engine/ modkit that just let's you replace existing models without you having to change much code. Doing an Amnesia custom story with your own art content might be a good idea (I've never worked with the editor though.)
On the other hand if you're more interested in coding you might want to use an engine like Ogre that let's you code your entire game logic from scratch.
If you have a team, I'd say let your coder choose the engine, because he/she is probably going to be the one facing the hardest problems and should be able to write in the language he feels the most comfortable with.
I hope I was able to help somewhat
Edit: Whoah something was wrong with the formatting of my post there...sry.