I think meetings are important. Working together on a team means setting aside time to discuss things at a higher level than the day-to-day work. Things like project details, goals for the department/company, getting input from peers, etc, are all very important.
The problem arises when these meetings occur frequently enough that programmers don't get large blocks of uninterrupted time to do their work. There is a ramp up time and cognitive load required for programmers to even begin working, so, to suddenly be interrupted for yet another "pointless" meeting and forced to restart this process several times a day causes a drop in productivity and programmer happiness.
Here are a few tricks that can be tried outside of the obvious "have fewer meetings" suggestion:
Sébastien Portebois
Software architect at Ubisoft
Most meetings could/should be avoided. That said, sometimes when a few people need to sync and agree to validate a point or review something, it's quicker than endless async emails/Slack/whatever-collaboration-tool-you-use.
Adam 's list is nice, I'd just like to propose a subtle variant of the
I hate when meeting go overtime. But I hate even more when our meeting is delayed because someone's meeting is overtime (and no other meeting room is available, so you end up waiting for the one you booked, or people you're waiting for are stuck in another meeting).
Whenever possible I try to book meeting when people:
My rules of thumb (some overlap with Adam )