«

the "office hours" meetup

2014

Consider the meetup speaker. She’s had a topic in mind for while, and so when the request went out for speakers, she volunteered. But that was three months ago, and now the meetup’s only a few weeks away, and she hasn’t even begun. She starts to outline the talk, but can’t quite figure out where to start. She can explain all the details easily, but the order in which they should be introduced, the organizing structure of the talk, remains elusive. Giving a talk about a subject, it turns out, is not the same as having a conversation about it.

Consider the first-time meetup attendee. He’s been interested in the technology for a few months, but there doesn’t seem to be any guides that help him progress from the ubiquitous “hello world” or “distributed word count” examples to actual, effective production usage. Maybe, he thinks, there will be some people at the meetup who can guide him through this awkward adolescence. So after a long day at work, he wanders over to the meetup space, where everyone’s hanging around the open pizza boxes. A few are eyeing the kegerator in the corner, wondering if it’s off-limits. He stands next to them and eats his pizza, listening to their conversation, wondering if he should introduce himself or just wait for the talk to begin.

Consider the long-time meetup attendee. He’s been using the technology for a few years, and wants its adoption to grow, so every month he comes to the meetup, eats the pizza, makes small talk with the other regular attendees, and dutifully listens to the talk. The talk, unfortunately, is usually either too remedial or focused on something not very relevant to his day-to-day usage. Also, the talks tend to be scattered, introducing concepts out of order, with lots of mental throat-clearing as the speaker tries to remember what was going through their head when they made the slide. Usually within ten minutes half the audience is looking at their laptops, with only the occasional glance up to confirm that the talk is, in fact, still going on. He attends almost every month, and often leaves wondering why he bothers.

In this based-on-a-true-story scenario, everyone’s motivations are good: they want to educate and to learn, to nurture and grow the community, to meet people who share their enthusiasm. And yet, a typical meetup is at best weakly successful in all of these dimensions. This is for a variety of reasons:

  • Any growing community is at least half-filled with novices. Very few assumptions can be made about what vocabulary and concepts are universally understood. The speaker needs to make a conscious choice to either build up from first principles, greatly delaying the time it takes to get to the actual topic at hand, or leave a significant part of the audience behind.
  • Understanding something well enough to use it doesn’t mean you can explain it well. We should all aspire to a clarity of understanding that lets us easily explain an idea to people from a variety of backgrounds, but that doesn’t come for free. Details need to be synthesized into broader concepts, without losing sight of the practical knowledge necessary to apply those concepts. Unsurprisingly, speakers are often still ascending that learning curve.
  • The standard lecture format expects and enforces passive participation. Ostensibly the attendees are making an active choice to learn and grow by attending a meetup, but upon arriving all that’s expected of them is to eat and listen. Each attendee likely has interests and projects of their own, but unless the talk directly addresses them, any discussion must be crammed into the margins of the meetup - either before, when people are eating and the speaker is fussing with the projector, or after, when the hosts are tidying up and giving not-so-subtle looks to everyone who’s lingering.

The lecture format still has value, of course, but much less so than its widespread usage would suggest.

In Seeing Like a State, James Scott contrasts two Ancient Greek words for knowledge, techne and metis. Techne is universal and timeless: the Pythagorean theorem and the harmony of the spheres. Metis is local and contextual: Odysseus infiltrating Troy and escaping the Cyclops. Our educations are anchored in techne - data structures, algorithms, and exams with objectively correct answers - but upon entering the real world, we find the techne only takes us so far. The problems we solve are not universal, they’re bounded by the context of our particular domains. This is fortunate, because needing to solve the general form of every problem we come across would slow our work to a standstill. However, this means our metis is unavoidably tangled up in the context in which we developed it.

Looking back, leaving the techne of school for the metis of our jobs can feel like a fall from grace. What was once clear is now hopelessly muddled, littered with a thousand half-remembered details. The promise of the lecture format is a return to that higher plane, an escape from the endless minutiae that awaits below. And yet, most of what we’ve learned in our careers is within that minutiae. There is enormous practical knowledge available at every meetup, and the lecture format uses almost none of it.

And so, at Factual we’ve been experimenting with a Clojure meetup modeled on a different academic tradition: office hours. At a university, students who have questions about the lecture content or coursework can visit the professor, and have a one-on-one conversation. This can be enormously freeing for both parties: the student can ask questions without fear of looking stupid or holding up the rest of the class, and the professor can focus on giving an explanation that makes sense to this particular student, rather than the entire class.

At the beginning of every meetup, we give everyone a name tag, and provide a whiteboard with two columns, “teachers” and “students”. Attendees are encouraged to put their name and interests in both columns. From there, everyone can eat their food and read the whiteboard, and go in search of someone from the opposite column who shares their interests. Typically they form groups of two or three, sometimes with a few more people listening in.

We’ve only had three meetups so far, each time with around twenty attendees, but the results have been promising. It has been especially encouraging seeing novice Clojure users bring in their first project to get a critique of their approaches, and discuss how they can better use Clojure’s core abstractions. These are precisely the sorts of conversations that create a healthy, growing community.

It’s unclear what the maximum practical size for this sort of meetup is. Given the small size of each group it may scale fairly well, but at some point it becomes impossible for people to find each other. Some sort of pre-event registration where people list their interests, and popular topics are assigned a physical location, may offset this. However, for the vast majority of tech meetups, where the attendees number in the dozens rather than hundreds, this can be an enormously useful and engaging alternative to the lecture format. We encourage everyone to give it a try. And if you find yourself in San Francisco and have even a passing interest in Clojure, give us a visit.


This post was originally on the Factual blog, which has since been taken down post-acquisition.