An orderly growth in your learning is crucial for maximum efficiency and saving you years of delay.
1) Choose a game engine that allows you to develop a game using one language.
2) You will be using that language for the next 1 to 2 years.
3) Make 3 to 5 simple console type 2D games without a game engine by using your language and targeting the Runtime Environment in your client computer which you use.
4) Return to the game engine of your choice and make 3 to 5 simple 2D games.
5) Begin making 3D games.
Note: Early in your first few games you should be on track to start and improve your interface making skills, which is one of the fundamentals of game development and critical for user appeal.
If you make each game well, adding new features, then this is the fastest path to becoming a skilled game developer as I outlined here. In fact it is better than Uni but requires stronger character traits in you.
Stay at it and have fun the whole way!
Sorry if I'm hijacking this thread at all, but I'm also on topic with the OP.
I'm also new to programming, I'm guessing I should start learning Python, but I'm interested in what you said and want to make sure that those "2-3" years you mentioned aren't wasted. No 2-3 years was mentioned, so re-read my post, please. I did recommend 1 to 2 years with your first language which was chosen by what game engine you selected. How much total time from start to professional level depends on many factors including talent, time available, difficulty of the technology selected, and so forth. Your language should be chosen based on the game engine that you select, in my opinion-for almost all newbies. Stay in that language until you get good at it before going deep into your second language in my opinion.
As for the list you mentioned, I saw that Minecraft was made using LWJGL, would learning Java and using that Engine be a good first step for a beginner or no? Yes - Everything on this list would be good for learning purposes: http://en.wikipedia.org/wiki/List_of_game_engines
Is there a book or an article that breaks down this whole experience (being a new programmer) better? Chose a game engine and seek the information from the community forums of that game engine.
I'm not sure how the game engine and compiling and programming languages all work together. I'd just like a simplified introduction or crash course so that I can understand the basics of this world I'm getting my self in to without having to waste time with bad advice or whatever bumps may be in the way. The development pipeline for each game engine has a unique combination of technology and methods for the most part. No universal formula exists across all game engines in regard to these matters of pipeline requirements. Seek the game engine community forums of your choice. Threads here at gamedev are very valuable in helping you get basics, some having tutorials.
Take my advice in the dark red text above here.
The more research that you do by looking for threads about a wide range of game development topics, then the better you will be. There are really few shortcuts and mostly just digging hard for things.
Research is the backbone of game development, so get used to it.