views:

122

answers:

3

Question:
What languages/platforms/technologies would one have to learn in order to be qualified to apply for various "sound" or "audio" programmer positions available at video game and other industry companies? Is this position more of a low-level programmer, in which you implement concepts completely designed by a developer, or does it require more in-depth knowledge of audio production/music?

Clarification
Obviously, you'd need to know what systems the company uses (do they make Flash games, use XNA, write console-level machine code, do they write audio tools for Mac/PC etc), but is the expectation that there are standard audio libraries that you should learn so that various other integration programmers can bind your code to the application? Are there specific things you should know?

Additional Background:
I have a degree in music composition because I wanted to write music for video games. I attempted to get various jobs doing audio production and sound engineering at video game companies, but they told me I didn't have enough technology industry experience. So along the way I got various jobs as a programmer in web languages (PHP/Perl/Python,ActionScript/Flex,HTML/JavaScript/CSS etc). I have some experience developing VST plugins and writing in CSound as well. I currently have a job developing web applications in the aforementioned languages. Now they are saying at my age I should have experience in the video game industry, but the catch-22 is obviously that I can't get a job with a video game company if I haven't had a job with a video game company. Looking into companies that develop audio tools (Digital Audio Workstations, tools for developers etc), they say the same thing. That being said, these places almost ALWAYS have at least 3 vacant "sound programmer" positions.

+3  A: 

Be persistent. Don't turn away at the first rejection, ask them if you could demo yourself somehow. E.g. if they have an opening, say that you know you can do it, couldn't they just try you out as a contractor or something for like three months? ("It's probably better to have someone doing something in that role than nobody, isn't it?")

You probably know already that doing "sound design" and "sound programming" are often two different roles; the person making the sounds isn't the same person writing the code to do the mixing and playback.

Pretty much the sole technology requirement for getting into sound programming (in games, at least) is an ability to program in C or C++ (C++ actually being more common, in my experience). Then if you know the audio terminology and what decisions need to be made when all of the sudden you need to play back three explosions, ten gun shots, and fifty people yelling on a two-channel audio device.

The industry unfortunately definitely faces ageism, but I think that comes from an implicit assumption that "old people" want "lots of money" and "a big title". If your salary and role expectations are in line with your experience (i.e. very little in the industry), then a company who wouldn't look at you (especially with VST and CSound experience) is idiotic.

dash-tom-bang
Thanks for the comments! I've created a quick flash demo of some of my techniques, but to be honest most of them are on the "sound design" side of things, and I find it hard to get my foot in the door as a technical person. I think my next step is getting some good proof that I know machine-level code and coming up with a demo there. As per @Redeye's suggestion, I'll try to get some time contributing to an OS project to prove myself, maybe get a good demo out of it.
NateDSaint
Note that Flash is not going to do the trick if you're trying to interview at a console game developer. Certainly there are flash game jobs available, but I think it might be most helpful to drill down into what sorts of games you want to make. Then you'll be able to make your technology decisions much more accurately.
dash-tom-bang
I picked this answer because I think it'll be most useful to people who stumble upon this question looking for similar information.
NateDSaint
+3  A: 

Okay, I know more about the pro-audio side of things (where I've worked as a programmer for 10+ years) than games but I'll offer what I can.

Try turning the tables here. Look at it from the employers point of view. Games companies and pro-audio companies get absolutely stacks of applications for programmer jobs. They often advertise positions available permanently because the difficulty is finding people good enough at any time, let alone when you need them.

In terms of skills, most audio programming is in C/C++ with the DSP often in assembler. That's nothing very difficult in itself, but the difficulty is in finding people who understand acoustics and audio at a fairly in-depth level to be able to apply those skills.

The best thing you can do is get some relevant experience, not necessarily paid. If this really is what you want to do, you're gonna have to sweat a bit to get there. CSound and VST plugins are fine, but both are pretty basic compared to what you'd have to do for games or pro-audio programming and a potential employer is going to want to see that you understand both the audio and programming aspects pretty well.

Try contributing to some open-source audio projects, or doing some game demos. To be honest, I'm not sure if your experience in web-based programming is really very relevant. Far more attractive to an employer would be experience in embedded programming on real-time systems (which is closer to what a lot of audio programming is).

I hope that helps a little. Good luck.

Redeye
Thanks for the advice! I totally understand that the companies want someone with experience, but I often find my issue is trying to figure out how to get my foot in the door, it's hard to find a place to get experience, but I didn't even think about apprenticing myself to an OS group.Are there any specific audio projects you would recommend that I look into contributing to, specifically ones with a little more embedded/compiled/real-time focus?
NateDSaint
To be honest, I don't really know of any particular OS projects which would be suitable, but that's more to do with my lack of knowledge of OS audio projects rather than there not being any. However, I'd suggest something sequencer/real-time based rather than a post processor like Audacity.
Redeye
Also, don't necessarily just go for the "home run" (ie. becoming an audio programmer straight off). There's plenty of ways to get your foot in the door by doing testing or tech support for a games/audio company which will give you some relevant industry experience while you work on your programming experience.
Redeye
@Redeye while that may work for audio companies, that isn't the path for getting into game development, esp. not programming. Anything is possible, of course, but game testers are usually isolated from the programming team (often by hundreds of miles) so you don't get the opportunity to get into development.
dash-tom-bang
Honestly, after hearing this input, I'm wondering if I'd be happier trying to find some position that allows me to use more of my current skills and education. I don't want to end up just being a code monkey who does zero creative work and just tweaks algorithms until "creatives" are happy with the sound, but I'm not sure if that's exactly what happens, which is kind of the point of the question, figuring out what all is entailed in the job and how to get it. : )
NateDSaint
+4  A: 

I have a degree in music composition because I wanted to write music for video games.

If that's your aim, I don't think "sound programmer" is the job you really want. In fact I would be surprised if more than 1 in 10 sound programmers ever got to contribute creatively to the project. It will be a highly technical role, the graphical analogy being a rendering programmer who writes the code to make things appear on the screen, but who doesn't do any modelling, animation, or texturing himself.

Kylotan
Thanks for your candor, I should have been more specific in my question, but I wanted it to be general enough that other people looking into this career field could get information that might not be relevant to me. The more research I do on this, the more it seems like I should just keep doing what I'm doing and work on my audio skills separately, and accept the fate of a game "contractor" for creative skills.
NateDSaint
Yes, hopefully the other answers address your general question adequately - I was hoping to cut right through and give you some direct advice. If it's any consolation, I myself am a programmer before 6pm and a musician after 6pm. :)
Kylotan