Professional game programmer here, I've worked at (and hired for) several large companies, so I've got a fair idea on what they look for, at least on the programming end.
First, as several people have pointed out, design and programming are different aspects of game development. Really, it's broken down into a ton of areas that you can aim for, which include (but are definitely not limited to!):
* Design / Scripting - these are the people who use an engine to make boss fights happen, in-game cinematics, things of that nature. Mostly the player interaction work.
* Design / Level - these are the people who use an engine to lay out the level you play in. They set up doors, lay out camera tracks, etc. Often combined with Design / Scripting
* Design / World - this is more of a writing position. You come up with the world, the people in it, etc., and others fill in the blanks. Usually the lead does this, or lead + combination of others.
* Programming - lots of fields here. UI, tools, engine, AI, sound, networking, graphics, the list is rather long. Out of college, you'll likely start out as a gameplay or generalist coder, unless you've specialized or someone has needs for you to specialize.
* Art / 3D modeler - build models in 3D Studio Max or Maya. Expensive, but more or less the standard at most companies. Often this role is just working on the geometry, but sometimes combined with other roles.
* Art / textures - apply textures to the above geometry. You have to figure out how to lay out the texture for optimal use, know where to use alpha/translucency, mirroring, and other effects.
* Art / skinning & animation - take that geometry, then attach the vertices to bones so the character can walk around.
* Art / concept - draw out sketches and paintings to show what the game and characters can be.
* Q/A / Test - testing a game is not that similar to playing a game. You're going through the same broken area over and over again to figure out exactly what is causing the problem. You try to write it down, or take a video or screenshots, then you have to do it all over again with the next build to see if the problem is really fixed, or mutated into something else. Really good testers are hard to come by, because most people don't want to stay in Q/A. But those that stick it out are extremely valuable.
* Q/A / Lead - come up with plans on how the game should be tested. You need to work with the designers and programmers to figure out when parts of the game will start working, plan out your resources (Testers) so that they get exposure to different areas of the game so that individuals don't get locked into their way of playing, make sure that as much of the game can be tested in a limited timeframe, etc. Again, great Q/A Leads are super-rare.
* Production / Assistant - help out by keeping track of deadlines, assets, making sure that people are on target for their tasks. When something goes wrong, help figure out how this impacts the schedule. Take screenshots, videos, and so on for marketing.
Check out the credits on some of your favorite games. You might find areas of development that you'd like to try out.
If you want to get into the programming side, I would recommend getting a bachelor's degree in Computer Science. Not one of the game development degrees that some places offer, but a straight-up CS degree. That gives you a solid foundation to build your game skills on - which you should do in your spare time. There are a ton of websites dedicated to game development, and the things discussed therein will make more and more sense as you progress through your degree path.
When you apply for a job, be sure to bring home projects to the interview, or submit them with your resume. These show what you can do, but also that you have passion for the job. If possible, have a variety to show off - tests to try out interesting ideas, simple games that are complete (main menu, levels, player victory, etc.), that sort of thing. If you're aiming for, say, a graphics position, be sure to bring in a sample or two that do interesting graphical effects. If you're aiming for a design role, build a level in an established game editor, like Quake, NeverWinter Nights, or Left 4 Dead.
And finally, finish your degree! This shows that you have the guts to stick out a long project, which you'll need to stick through a game project from start to finish. It'll also help if you someday decide to go into a more traditional job, which some game developers do. Game development is a lot of fun, but it's also a lot of hard work, and sometimes a lot of long hours. Hard to get to kids' baseball games if you have a deadline to hit.