I’ve decided I’m no longer attending programming meet-ups. The reason I’m no longer attending is because they’re free.

To be more accurate, it’s because of all the adverse effects of free. “Free” means having no expectations. It means taking what you’re given. It means the value isn’t obvious or measurable. It means, frankly, they’re not sure if anyone would show up if it weren’t free. It also means they can charge you in ways that aren’t monetary.

Some common characteristics of programming meet-ups:

The event is mislabeled. You come for X, but learn Y instead.

You come for X, but learn Y instead. The core material begins late. You don’t expect or want food, but you are told how there would have been pizza, but the pizza got lost in transit, because someone named Peggy signed for it, but no one named Peggy works there.

You don’t expect or want food, but you are told how there would have been pizza, but the pizza got lost in transit, because someone named Peggy signed for it, but no one named Peggy works there. The presenter hasn’t prepared. You squint at poorly-indented code without the benefit of syntax highlighting.

You squint at poorly-indented code without the benefit of syntax highlighting. The presenter talks down to the audience. You learn how much the presenter enjoyed attending MIT and how many Fortune 500 companies the presenter has worked for.

You learn how much the presenter enjoyed attending MIT and how many Fortune 500 companies the presenter has worked for. The sponsor’s presence dominates. You are told: “Have you heard about Z? It’s great. There’s a free tier. You’d have to be an idiot not to use Z. I use Z all the time, and I’m very successful. Let’s take five minutes so I can walk you through Z’s dashboard.”

You are told: “Have you heard about Z? It’s great. There’s a free tier. You’d have to be an idiot not to use Z. I use Z all the time, and I’m very successful. Let’s take five minutes so I can walk you through Z’s dashboard.” The Wi-Fi doesn’t work. You enjoy watching your web browser send packets into oblivion as your OS attempts and fails to demystify the venue’s network capture scheme.

It’s hard to blame the meet-up groups themselves. They’re trying. Their organizers do invest legitimate effort into fielding speakers, promoting their talks, and creating a welcome space. But it’s a really inefficient medium for learning anything.

A few days ago, Smashing Magazine, of all places, published a tremendous article on HTTP/2 Push. It’s great—thorough, well-edited, timely—some things I’d never expect from a meet-up. It’s also free. Plus I can skim it. And if it weren’t good, I could have found a different article or book or talk on the topic.

But the low to zero cost of meet-ups means there’s little incentive to produce quality presentations. The groups attract people who want to show off their pet projects or who are cajoled into speaking by their managers. The speakers simply don’t have the skill or interest or time to captivate a professional audience. Even though presentations can be very effective means of teaching, preparing a talk takes time, far more time than writing an article.

I’m sure meet-ups have value for some people, some of the time. If you want to meet other programmers, go. Or if you want to see what’s new in a related field, go. But otherwise, if you’re looking to learn something, well, there’s a whole world wide web for that.