Meetings are often dreadful — meetings with software developers even more so. Software engineers tend to be nit-picky, narrow-focussed and some have huge egos. A passage in Douglas Edwards' I'm feeling lucky[4742]  made me think of my survival strategies as a project manager.

Edwards is in a meeting with Larry and Sergei, along with Eric Schmidt and other Google executives. The subject of the meeting is irrelevant, but suffice it to say that Edwards is quarreling at length with Larry and Sergei and Schmidt is taking Edwards' side. After the meeting Edwards thanks Schmidt for his support and asks him if he doesn't think Larry and Sergei are difficult to handle at times. Schmidt's response according to Edwards:

"I'm well compensated. Now, excuse me while I walk around the building a few times."

Not all of us are as well compensated as Eric Schmidt, but many of us still need to get along with the "smarties" with keyboards. Here are 5 essential techniques drawn from my experience as a project manager that will help you survive meetings with software engineers!

5 essential techniques for survival

1. Let nerds be nerds

Rule number one is to always let nerds be nerds. That means let them go on their rants about database optimization, indexing and abstract programming principles. Just set your timer on 5 minutes and when the time is up say "Wow, that's great, I feel like I learned a lot from that! What can I do to help?"

Why? These are things that programmers really care about. They feel that it really matters, and it probably does. So give them the space to talk about it and find it within yourself to actually care.

The important effect of this strategy is purely psychological. If the developer is hostile to you or your agenda simply because your are a noisy middle-manager, which he/she probably is, then taking the time to listen to their real concerns gains you trust and credibility.

2. Come serving gifts

Figure out what the favorite snack, soda or tapas of the developers you are meeting with are, and make sure to stock up plenty.

Especially if your meeting has a boring agenda, stuffing your developers with sugar and liquids ensures that they don't fall asleep, or worse yet: associate the sleepiness with you and the next meeting you call them to.

I have successfully brought donuts and other sweets to meetings at which I'd otherwise expect moaning and groaning from my developers. The surprise factor cheered them up, and the sugar kept them awake.

3. Have a clear agenda

Developers hate meetings without purpose and, frankly, so should you. If you called the meeting, be very specific about what you want and what you expect from the meeting.

By having a very clear and specific agenda, your developers will love you simply because most project managers don't. They will be more positive and give more valuable contributions.

A positive side-effect of this strategy is that you will actually get things done, and you won't waste anyone's time.

4. Don't schedule early

This rule is simple: Don't schedule your meetings early in the morning unless you have to.

Most developers, though definitely not all, hate morning meetings. It would be prejudicial to say that it is because they sit up all night coding, but for all I know that's true. And if they do, it's probably good for you anyway.

I once had a developer catch an early flight from his remote location for a day-long meeting that started at 8am. He was an absolute bastard the whole time and it was basically money thrown out of the window.

5. Show your gratitude

As mentioned above, developers often have big egos. Boosting those egos are rarely a bad thing, as long as the praise is relevant, real and realistic.

Praise them for their valuable contribution to the task at hand, and make sure they understand that you understand their importance.

Keep in mind that being a project manager is never about taking credit for good things. When something good happens, always credit your developers. This is because it is often hard to make a definite connection between the writing of the code and the success of the project. Developers make real and instrumental contributions to the success of your project, and you should take every opportunity to reward them for it.