I get asked this question a lot, so I decided to write a post and link it if someone asked again. It's generally one of these variations:
"How do I join the video game industry?"
"I love playing games and want to make them! How do I start?"
"How can I get a job in a video game company?"
The game industry is made up of several kinds of 'Outfits'. There are large companies with studios in different countries that employ thousands, medium-sized ones that have 20-100 employees as well as Indies that consist of a few people working together to make games.
Some of these outfits work on client projects; that is, they make games for other people; also known as outsourcing. This is a reliable source of revenue and pays the bills, so to speak. Some outfits only make their own games; that is, they conceive, create and release games and live on the revenue thus generated. This is comparatively risky, as there is no assurance of when a new game will be completed satisfactorily or how much money it will make.
Others such as my own outfit Roach Interactive, do a mix of the two. We work on client projects as well as make and release our own games in the mobile space. It's a simple strategy that helps us to pay the bills while making the kind of games that we can be happy about.
The important thing to understand here is:
"The only way to learn how to make games is ACTUALLY MAKE THEM".
This means that theory and textbooks and lessons have a rather limited scope in teaching game creation. It is very practical and "Just Do It" based learning, so any path that you choose to learn how to make games must involve actually making them.
That said, it definitely helps to have a strong base in the theory of game design, art and programming. A good mentor and/or experienced instructor (with actual industry experience) can make a big difference in the time it takes to figure things out.
I'd say that there are generally two paths to being a professional game maker-a formalized education followed by work experience, or jumping straight in and starting to make games. A lot depends on your circumstances and background; if you already know some art and/or programming through school or your work, that will make things easier. However, remember that you will need to make at least one buggy, unpolished game that you may be embarrassed to show after a few years.
A formalized game development training course can be anywhere from six months to four years, and the fees can vary from a couple of thousand to a hundred thousand dollars. A good training course involves theory as well as project training, where students form teams and create their own games in consultation with mentors and/or instructors. At the end, students graduate with at least one game title to their name.
If you can afford the time and money, I would definitely recommend some form of formalized education, as it helps to build a strong skill base and establishes an invaluable network of peers and mentors. It takes away a considerable chunk of trial-and-error from your first few projects. I studied game design at VFS, and I now realize that one year of education and training taught me what I would have taken three to five years to learn otherwise. It was a heavy financial burden though, and one that I still bear.
If your circumstances do not allow you to join a course of study, then by all means jump right in. This is a great time for making video games, as the technical and financial barrier to creating games has recently become very, very low. This is good as well as bad news. It means that almost everyone can (and is) making a video game, so the world of video games is getting very crowded. However, most of these games are of a rather low quality that betrays the unprofessional game development process behind them.
Even if you do plan to set up your own game making outfit or become a solo developer, a basic education in making games will help a lot.
Game making is collaborative in nature and whether you wish to be a designer, programmer or artist, it really helps to understand the nature of the work of the remainder of the team. Try to be as versatile as possible; a programmer that can use image editing software like Photoshop, dabble in 3D modelling software like Blender as well as be part of a strong design feedback loop is worth a lot to any development team.
The best place to develop this kind of versatility is a small, highly motivated team, such as an Indie outfit. Typically, everyone helps out with design and nobody is excluded from any part of the game development process. The whole team needs to pull hard together to build a high quality game with limited resources, and the skills acquired in this kind of creative environment are very valuable. Moreover, it is a high-risk creative environment and ideas/concepts are edgier and more radical. Unfortunately, it also means that your paycheck (if there is one at all) is not going to be very secure. It's a great ride, creatively speaking, but It may not be a dependable way to pay your bills.
Larger companies are comparatively low-risk creative environments. Large teams mean that you will probably be a small part of a large process. There is scope there to learn structured game development processes (and politics!) as well as gather experience in newer areas of the game making process such as Analytics and Marketing as well as really understand the QA (Quality Assurance) process. All of these are valuable skills too.
A good way to start (like I did) is as an Intern. I worked for quite a while in Piranha Games, Vancouver as a QA Intern. I would (without pay) work Monday to Friday from 10 to 5, testing games. I actually helped to set up a QA system where none existed, and learned how a studio functions. I made some good friends there and my work there helped me to get my first job as game designer at Gameloft. It may sound like exploitation now, but I was actually quite happy doing the work.
Some outfits welcome interns, and even pay a decent stipend. Others can be persuaded to take on a new team member who is wiling to work for little or no money.
The last option is to start your own outfit without any kind of education or work experience. This could work too, but you will need the heart of a Lion (or Lioness). To make good games you're going to need a team, and getting one together could take years, like it did for me. This particular journey needs a post all of its own, that I aim to write sometime soon.
A very important factor is the development of a work portfolio. Start a blog, post links to your projects, sketches, renders. Write a game review without worrying about how it's going to sound. Go to game jams, make something. Post it on Facebook developer groups and ignore the trolls. Look for genuine feedback for your work without being greedy for praise. Strive to be honest, sincere and earnest. You'll go far.