As a final bit of advice, here are some lessons I have learned about working with different disciplines. I have found that these have helped me build a good relationship within each "culture" in development, understanding the work from their perspective goes a long way to earn their trust and professional respect.
Working with programmers. When working with programmers, keep in mind that they work in very precise and concrete terms. Whatever feature you have come up with, they will have to make it happen down to the smallest detail, and in doing so they will be carrying the design mantle that you hand off once you have outlined the feature.
Be precise when discussing implementation with programmers. Mathematical formulas are nice, if you can provide them. Provide feature lists with all asset requirements, exact details on mechanics and systems.
Point form information is best for this kind of documentation. Programmers don't like sifting through paragraphs of flowery language, backstory details and character bios when looking for the information they need to code. Provide functional diagrams, failure and edge cases, alternative implementation options, Plan B versions -- as much as they ask for or need.
Some programming teams want to get directly into the design with you. Great! Build a mutual understanding of the gameplay objectives together, then discuss nuts and bolts as they require. Be available to the engineering leads to work on stuff according to their needs. Don't just begin publishing documents as the mood strikes you; ask the programming leads to give you a work list that will satisfy their information needs according to their pipeline. If you can be Johnny-on-the-Spot with the information they need when they need it, you will be working together.
Programmers need to know that the information that you are providing is relevant to their current work; they don't want to sift through a large bunch of documentation looking for the information they need. Direct your documentation to their needs and at the level of detail they need, when they need it. If you cannot detail a feature because of a dependency on something else, then discuss the dependency and agree to a mutual plan of action.
This essentially means that you should be writing two levels of documentation: big picture level stuff that gives overall vision and scoping detail for general team consumption, and nuts and bolts design documents that are as direct and precise as possible regarding features and mechanics. Engineering leads may have a preference for the format and style of this kind of documentation; talk to them and find out what would suit them best.
Working with artists. Artists, modelers, and animators deal in aesthetics as well as concrete asset production. The important part for you as a designer is to not intrude upon their area of expertise -- the aesthetics, or simply put, the art.
When reviewing art assets or discussing art direction, don't become an artist. Make sure you keep your designer hat on, and leave the art to the artists. If they solicit your input on an aesthetic call, give your personal preference by all means -- but know that nothing turns off artists more than a wannabe art critic. If you have artistic training, great, make sure that they know you may have some basis for your opinion, but don't try to be the art director as well as the creative one.
If you want artists to be part of the design process, ask them for options and preferences and see if that works or fits the game. You want to cultivate their artistic sensibility so that they pour their best work into the game. If you criticize art choices based on personal preferences rather than what is objectively best for the game, then you shut them down as partners in the process.
When you ask for art assets, make sure that you get into stylistic dos and don'ts before they start working on them. Telling an artist that your game is not steampunk style after they made a character model is never going to win you points. Be clear about what the game is NOT about as well as what it is stylistically close to.
Some art teams want precise, detailed designs on all art related components; some teams want to be able to interpret the art needs from the design direction. Make sure you work with the style they prefer. If it is detailed they want, then detailed you give. If they prefer to be left to make assets according to their interpretation, then try to work with that and harness their creative talent while of course keeping it within the scope of the design.
Animators merit a special mention. Depending on how much animation your game uses, this is a crucial relationship. Animations have a huge impact on performance and the final appearance and polish level. It is easy to become overzealous in animation and break the memory bank, but if you go too cheap, your game will not compete visually. Finding that fine balance requires a close understanding between you and the animation team.
What is the minimum that your design can live with, and what is the "would be awesome" extra that would really give you more bang for the buck is a tough thing to work out ahead of time. Working closely with animation throughout the project is important to maintain that balance. Keep on top of animation design, make sure that the designers and animators are in agreement, and provide precise lists of requirements as the animation team needs. Make sure that the animators and gameplay designers are both working on the same page in terms of visual bang for asset buck.
Working with sound designers. Sound is psychologically a huge part of the game experience (right up there with the visuals). I go online and look for soundtracks of games that I played almost 20 years ago because they bring such a rush of nostalgia and good memories. There is something very primordial about sound, as far as its role in building emotional memory.
Your relationship to your sound design team should be such that you both understand what kind of mood you want to build in the game. You should pitch the design to them and ask them to pitch you music and sound effects that would match it. It's just like scoring a film, and just as important.
The best way to show them what you mean is videos and sound files. Once you agree on the atmosphere you want to create, then the rest should be relatively smooth. If you are providing dialog for them, or even directing recording sessions, make sure that you are open to changing things on the fly. Experienced sound people know what sounds right; don't be resistant to changing your script based on the sound designer's or voice actor's different interpretation of it. Something that looks good on paper may be totally silly out loud. Just like the other disciplines, be willing to make your stuff better with the creative input of those who have the experience to know.