In many respects it's the same as any field of programming: apply for jobs with game development companies; if they reject you, ask what you should improve before you apply again.
In terms of skills, it really depends a lot on what job you're applying for. Firstly, you say you want a game programming job. Be aware that game programming and game design are not the same thing: the game designer(s) might not do any programming, and the game programmer(s) might not get any input into the design.
In minigames it's not unusual for the entire game to be programmed by one person. That person will need to be able to handle graphics, sound, and game logic (which may include moderately tricky physics) at a minimum, and possibly things like networking and AI too. A reasonable grasp of geometry and algorithms is likely to be necessary. The languages which are most useful here are Flash / Java / potentially JavaScript in the near future for web and Java / Objective C / C++ for smartphone apps. I suppose C# (XNA) is also a possibility. If you're going to have client-server communication then it's useful to understand network protocol design (as in: how do I design a protocol to communicate my game state securely and compactly) and you may want experience in Java / PHP / Python / Ruby / etc. for server-side code. The great thing about minigames is that projects are small, so you can have a regular moment of satisfaction when you release one and see the player response.
In larger games the roles are much more specialised. A large RPG, since you mention that as a possible area, will have a small team working on the engine and a larger team working on quests. The quest development may well be in a domain-specific language, so specific language skills would be acquired on the job. These roles are likely to have a fairly large design component, so companies may look for story-telling ability in addition to general programming ability and understanding of algorithms.
Other large games may have dedicated roles for physics (PhD in physics or maths generally required), AI, graphics (e.g. there might be some people who only write shaders), audio, networking, testing (i.e. writing scripts, not playing), etc. Decide what areas might interest you, look at job postings in those areas, and consider how you might demonstrate your interest and skill. This kind of company is unlikely to be impressed with a Sokoban clone, but if you're interesting in shader dev then having a demo-scene portfolio could impress them.
Finally, I can't let the comments on work-life balance go past uncommented upon. There's more to the world than EA, or even than the USA. In my five years in the games industry I worked 40-hour weeks, solved interesting problems, took home a living wage, and published some fun games.