Well, as a pipeline engineer myself, I mostly work in C++ - at the moment, most of the work I’m doing is plugins for Shake and Maya… I’ve done a couple of tiny Tcl scripts, but that’s about it (don’t really know Tcl, though)
Personally, I think C++ is a very solid language to know - it will help you all over the place, and it certainly won’t hurt to know it.
Another language that I’m learning at the moment is Python - I’ve not used it before, but I suspect that it will become my scripting language of choice in not too long - it seems great because it can be used for both short scripts and quite complex programs…
Anyway, going back to what you wanted to do:
Technical Director: Well, it really depends on what kind - if you’re working in Maya, though, there’ll be a lot of MEL to do.
Shader Writer: I really don’t know enough of what this involves to be able to make suggestions here…
Procedural FX Animator: This depends on whether you’d just be the Animator, or if you’d be the FX TD too… If you’d be setting it all up, then you’d certainly want to know MEL - and knowing C++ would be useful too, so that you could (if needs be) write new fields, for example…
Pipeline Engineer: What you need to know for this purely depends on what kind of thing the company wants for the pipeline - it might be a matter of shell scripts to set everything up properly, or it might involve writing plugins for the various pieces of software involved so that the user doesn’t have to think about where things go… I’d definately say learn C++ for this - and shell scripting/python/ - also the various scripting languages in the packages you’d be using - MEL and Shake Macros in my case…
Hope that’s been of some use…