What is the most efficient way to learn game programming, given the limited time I have?
Make games. It will be far more useful to you; you'll learn how to do the thing you want to do, and you'll have some games to show off when you try to get a job as a gameplay programmer somewhere.
I was also thinking about this but there are some paradigms and design patterns that I'd like to know before I start the actual work. For example reading the Game Programming Patterns gave me some very useful examples on how to work with C++ and gaming (for example the flyweight or command pattern).
I second the "make games" suggestion.
As you go from developing simple games to more complex ones, you'll begin to see where various design patterns, paradigms, and algorithms are the solution that fits best. You do still need to know that these patterns exist to be able to ask yourself the question, "I wonder if what I actually need here is x?" and of course having done some experiments will get you further, faster. But, I think, the practical experience of making use of something outweighs going through theoretical exercises in a book.