I've been working in the visual effects industry since I graduated (~10 years ago). I started for a small studio writing scripts to automate common tasks. Since then I've:
- built a distributed render system on top of open source software
- written animation tools for artists
- written software for animating, simulating, and rendering fur
- learned Houdini, Maya, RenderMan and many others
- written shaders
- written many, many plugins and tools in various languages
I'm now managing a team and have discovered that it's hard to find talented software developers with a solid grounding in mathematics and computer science who have the skills to work in VFX. There are plenty of hackers who can put together a MEL script, but few who actually understand the underpinnings of the systems involved.
If working on VFX for film and TV shows sounds interesting to you, look into developing your skills as a Technical Director (or TD). The skills I look for in a TD are:
- understanding of the 3D pipeline (modeling, texturing, rigging, layout, tracking, animation, lighting, rendering, compositing)
- technical competency in the software used (Maya, Shake or Nuke, Renderman or Mental Ray)
- solid background in programming (scripting, understanding of OO design, C++ desirable, Python especially)
- solid understanding of Unix as a technical user
- ability to learn and master new technologies quickly
- ability to empathize with artists and understand their perspective as a user
- strong mathematics background is highly desirable
- experience in digital or traditional filmmaking also highly desirable
The people I've worked with in the past usually fall into one of three categories:
- have a degree in computer science (or related), minored in fine arts (or just had the interest), and then took a college program in 3D
- smart people from a completely different background who taught themselves both 3D software and programming
- artists who took a college program in 3D, who then taught themselves programming
I recommend the first option, or if you're persistent enough, teach yourself the software at home and start networking online.
If you have a masters in computer graphics, mathematics, or physics, another job open to you is that of the Shader Writer. Shader writers build either complete shading systems or components that model how light reacts with materials. These models are not usually physically accurate (although that is becoming more of an option now). Things to look into:
- BDRFs
- ambient occlusion and color bleeding
- subsurface scattering
- procedural texturing and modeling
- shader anti-aliasing
- global illumination techniques
- shading languages such as RSL, GLSL or Cg
Competent shader writers are HIGHLY sought after and very well compensated.
Check out the job postings at Pixar, Industrial Light & Magic, Sony Imageworks, Rhythm & Hues, and Dreamworks Animation for more info. Also check out the forums at cgsociety.com and odforce.net.