Disclaimer: I have no connection with the games industry, but as someone who has had to evaluate and interview tech talent before here are a few general things that I think are important.
Disclaimer 2: I'm still trying to figure out what I want to do with my life and I'm in my mid 30s. I know it's not what I'm doing during my day job, but despite that these few suggestions have helped me to be successful in a career I don't love. Hopefully they're helpful to you or others. They are a combination of my own experiences and advice given to me by a series of outstanding bosses and mentors over the years (I've been very lucky in that regard).
Some of this may seem obvious or rudimentary, but I've always been shocked at the people who worked for me or that I worked with or even that worked above me in organizations who never had someone give them some of these simple pieces of advice.
Both written and verbal communications skills are key.
- Verbal: First, no one wants to deal with the obnoxious tech geek. I don't mean someone who is by nature a nerd (I am and proud of it). I mean no one wants to deal with tech folks who behave with a sense of entitlement and/or are completely unable to express themselves clearly. That's so 1990s. I have no idea if that's you or not, but communication goes a long way to making you valuable. Make sure you can speak comfortably and confidently about your areas of expertise. Have confidence when talking to others about game development (and make sure you know what you're talking about!) but don't cross into arrogance. Second, through a decade+ as a tech guy and a manager of tech teams the skill I've found most lacking is the tech person who can speak the language of other disciplines. It sounds like you're a programmer by trade. Learn to speak the language of game design. Learn the language of art teams. Be able to have an intelligent business-of-games conversation with a business analyst or any business focused person. People who can bridge the gap between different disciplines are hugely valuable. It is one of the rarest qualities in any business. It is doubly valuable if your the tech guy, because to non-initiates most technology might as well be magic. If you can explain what you're doing and why in a manner that your marketing guy understands he can then use your knowledge to create better marketing. The marketing guy doesn't care about multithreading. He does care about end of turn wait times (to use a very simple example that comes up around here regularly). He can advertise the lack of wait times as a feature. He can't advertise multithreading (or whatever else) as a feature. These are two different ways to say the same thing. If you know how to translate your discipline into something the marketing guy can use and understand, that's very valuable.
- Written: Make sure written communications are professional. This is especially important when asking for advice related to your chosen profession, when networking and whenever communicating with someone in your industry/field of choice. If you ask for advice, but can't be bothered to take the time to make it grammatically correct (or at least close) and you can't bother with proof reading and spell checking, then why should those you are communicating with bother taking the time to craft a response? Your communication is the first, and most important, tool you have to convey your seriousness. Don't throw it away.
- This one is old fashion, but for the love of god send thank you letters/emails. If you ask for someone's advice, time or any sort of input at all send them a quick (well written) note to say thank you. Two or three lines, nothing fancy. It keeps you fresh in their mind, it's always a pleasant surprise to receive (since it is so rare nowadays) and it's just good manners.
Network. Network. Network. Find companies that do what you like. Find associations in your area. If you like programming and want to crack games find local groups that share you interests and become an active and valuable member of the group. Participate in games related hackathons. Join online modding teams. Do anything you can to get your name out there as someone with passion and talent.
A few words about networking.
If you really want to be good at networking, the key is to realize that it's not all about you. Most people miss this completely and treat networking like a volume play where you swing as many times as possible hoping to get a hit with someone willing to do you a favor. Frankly, that's a shitty and ineffective way to approach it. Go into networking with the goal of making it a mutually beneficial interaction. One of my old bosses always talked about networking as "enlightened self-interest". It is in my interest to help you succeed, because if you succeed you are in position to help me succeed should I ever need it. Networking is a chance for you to create connections between yourself and others.
Now this next part is key and is often overlooked. If you want to be truly effective at networking the key is for you to facilitate connections between people you know even when it doesn't directly benefit you at all. You know person A with need/interest X. You know person B with need/interest X+1. You realize the two could help one another. Make the connection for them. Help them by introducing A to B. They'll be stronger in their area of interest and more likely to be successful. You don't benefit at all in the short term. But over enough of these sorts of interactions over years of a career this builds a hugely powerful and loyal network. Enlightened self-interest. Of the four things I'm writing about here, this one is hardest for me. I'm not an introvert, but networking always felt scummy to me until my old boss explained his theory on it. Now I realize not only is it not scummy, but when approached right it's beneficial to all involved. It's hard and it's a ton of work, but it's worthwhile.
One last word on networking. Don't be intimidated. We're all just people, regardless of the job we hold. Polite and confident will take you a long way.
Do what you love to do
Nothing can beat doing what you love to do. You say you can't afford to do an unpaid internship. That's fine. But you should be modding or writing some small indie game in your spare time. If you love something and want it to be your career you should live and breathe it as much as humanly possible. Your indie games or mods may never be popular or profitable but if you're pushing yourself those mods or small games you create will teach you new things. They'll be expanding your skill set demonstrably (and each new project should force you to learn new skills). You'll have a portfolio that you can point at to say "I did that." The more complex the project the more impressive. For example (though this is certainly not the norm): http://www.geek.com/games/teen-who-created-massive-skyrim-mod-falskaar-lands-job-at-bungie-1578474/. And then there's the local example of course (Derek Paxton).
Don't be afraid to fail
Failure is really no big deal most of the time. Especially earlier in your career. Try things. Try different jobs, different genres. Start new projects that try new and interesting mechanics. If they fail, so what? This is especially true before you get capital tied up in your projects. All you are using if you fail is your time, but if you're doing what you love that shouldn't be a problem.
Failure teaches us. It's the best teacher we have if we're willing to listen and not afraid of it. Try, fail and analyze. Why did you fail? What went wrong? Be honest with yourself about the failure and correct it. Move on.
Interesting side note: This is one of the things that kept my faith in SD after WOM fell on it's decidedly unmagical boring buggy face. Brad's multiple mea culpas were blisteringly honest. They showed that he knew how to fail and how to turn that failure into a strength going forward. I'd never presume to put words into his mouth, but if he stops by this thread I'd be interested to hear if he thinks SD Games is better off because of WOM's failure.
One of my favorite sayings that has gotten hugely popular in entrepreneurial circles is "Fail fast, fail often". Experiment and learn, rapidly. Get comfortable with failure, learn to recognize it early and master learning from it.
Anyway, that's my advice. Hopefully there is something useful in there for you.
Hell, sat down to write two or three points and spit out a badly written essay in their place.
Hate it when that happens.