How to Talk to Your Developer Part 1
Use your own language, not your developer's.
As you spend time working with developers it's natural to pick up lots of terms you might not completely understand, but have a vague idea of their meaning. That's great, this merging of worlds is healthy for any group dynamic. However, let the developer be the one to actually use the geek-speak (and for the record, you can't call us geeks either, only we can say that).
For example, if you are a creative director walking me through your Photoshop Layout of an upcoming site, speak in visual terms that you know and used during the design's creation. Instead, so many people I've worked with would say things like "maybe an extra DIV around this calendar" or my personal favorite, said in an actual client meeting, "We use jQuery to move things on our websites".
Just Ask?
In a different meeting (new client, same team members) via conference call a client could not see most of the recent changes our team had made. I know 'Cache' isn't a word in everyone's vocabulary so I calmly asked the client if they knew how to clear the Cache in their Browser. Luckily they did and after quickly doing so were happy to see the changes. However, before we could move on to address the changes an unengaged member of our sales team loudly grimed "Cache, what's that?" then resumed thumbing their PDA disinterested while I explained.
If you really want to know what a term means, just ask (but preferably not in the middle of a client meeting). Most developers, like me, are geeks and enjoy when someone takes a little interest in something we know a lot about. For me it demonstrates my value and reinforces why I'm a great member on a team. If you don't ask, you could potentially embarrass yourself or worse, weaken the morale and confidence your team has in you.
I've had other project managers speak to me in "If Statements" while trying to explain the way a certain signup page worked. She spent more time fumbling around to find the right term than actually explaining how it should function in everyday English. Keep in mind, we aren't the ones that need a translator :-).
Go both ways.
No matter what this should always be a two way street and respected on both sides. I am not a designer, so when talking to one I don't try to look cool by talking about color theory or font kerning, I'd look like an idiot. It would be cocky to presume I could properly use random terms from another's culture in an environment outside my level of mastery. At a base level it's pure ignorance.
If you are a developer, understand that the clients and co-workers you interact with are not likely to know what a For Each Loop is. It's imperative that you explain things in an abstract way, that is as non-technical as possible. When necessary I like to (respectfully) pretend I'm explaining something to a child, keeping the conversation simple and on track. You don't have to talk to someone like they are an idiot, but it's better to have someone's eyes roll knowingly rather than glaze over without a clue.
Definite buzz-kill words to avoid include "Cron Job", "Ping the server", and "API".