First off, let's just establish that there are good reasons for meetings. It's just that execution matters more than intent. All-hands team meetings, for instance, can be excellent for cross-pollination, but not as an exercise in the team lead trying to fit all her/his one-on-ones into the same half-hour. Project kickoff meetings introduce the players and define the pieces of the puzzle, at least until they're subverted by glory-seeking and accountability-avoidance.
But it occurred to me this week that there's one dimension of meetings--its dirty little secret, if you will--that's never acknowledged. And that's the establishment and/or reinforcement of the organization's social order. And if you're a new programmer in particular, it's important to pay attention to that dimension if you don't want to have your time wasted by people who turn conference rooms into royal courts, star chambers, etc. Mainly because they either want to look important or busy or both.
Don't pay attention so much to who's sitting next to whom, and for pete's sake, forget the agenda and what's on the PowerPoint slides. If the person who called the meeting isn't actually in the driver's seat, that's a tip-off that things are not what they seem. Pay attention to who shows up late (and insists on rewinding the meeting to bring them up to speed), and who takes calls during the meeting. Either is a sign that you need to find an ejector seat...or at least try to sneak in some real work amid the ego-jostling. Squabbling, on the other hand, is usually a sign of progress--assuming that the squabblers are about evenly matched. Pay attention, then: You're could learn more about what makes these people tick than from months of water cooler jibber-jabber.
All things that really should be on the curriculum at Programmer School. Knowing them ten or fifteen years ago would have saved me a few (figurative) scars. Not to mention oodles of time.