I'm 22. I have a bachelor's degree in CS and slightly more than three years of professional experience. None of my previous experience involved game development or even computer graphics, but I really want to work as a game developer because I'm carrying a big love for computer games through my entire life. It began with "Bobby is Going Home" on Atari 2600. Then there were the NES games that shaped my childhood: Flying Warriors, Mario, the various versions of Contra, Mighty Final Fight... And finally, there was the PC with Commander Keen, Duke Nukem, Doom, Quake and the Half-Life series, which I consider the best FPS game ever.<p>I have always admired games and the technology that makes them tick, but never had the chance to work on a real game because where I'm from there are simply no game studios.<p>But I have recently moved to the US. There are much more opportunities here, but the problem is that I lack the experience necessary for a game developer. In my understanding, modern games are very complex and it would be extremely difficult for a person with no previous experience in this area to just jump in and start working on them.<p>So, my question is, what should I do to qualify for a software engineering job in game development? What do I need to learn? And another thing - if you are an engineer at Valve reading this, what would I need to show you to get a job at the company?<p>A little bit on my background, if it helps: I'm a C++ guy, I do know C and can write low-level or system-level code if necessary. Understanding of linear algebra is present. I did work on some simple games in my spare time, but a) there was little spare time between my day job and my studies, so the games had to be really simple b) they all look like shit because I'm no artist.