Switching from Presentations to Hack Nights

The number of tech meetups in San Francisco is pretty insane. You could probably eat free pizza every night of the week if that was your thing.

Despite the quantity of meetups here, they almost all have the same structure. Tens of people show up, everyone has pizza and beer, a person gives a presentation for 30 or 60 minutes, people ask questions or flex at the speaker, people mill about for a bit, and then everyone goes home. Okay, but is that actually a nice way to build a community? I mean, sometimes the talk is boring. Sometimes the talk is interesting, but I only really understood 50% of it. Maybe I want to ask someone, but it is hard to start talking with strangers. Often I end up talking to between zero and one new person.

Early on with the Elm meetup in SF, I switched to a hack night style. I wanted the meetup to be more inclusive and beginner friendly. I wanted to see what sort of cool things everyone else was working on. Basically, I wanted to build a fun community where people learn and make cool stuff together!

Now that there are Elm meetups popping up in cities all over the world, I figured it was a good time to share my thinking on this!

What is a Hack Night?

We structure the Elm meetups in San Francisco like this:

Sometimes spend 10 or 15 minutes up front showing something cool. Maybe that is me previewing improved error messages or Richard demoing elm-css or Aaron showing elm-format. This is more of a show-and-tell about making something cool. If there is nothing to show, we skip this.

Pairing and collaboration is kind of the whole point of these meetups, so we have a couple minutes where folks can briefly share what they will be working on. This does two important things. First, it makes it clear to everyone that this meetup and this community is about building cool and useful stuff. (Not all functional language communities are this way!) Second, it gives new folks an easy way to find some form of mentorship. Maybe that just means asking a few questions at the meetup, but hopefully it means finding collaborators on interesting projects!

From there we work together until the place clears out hours later!

One thing to notice is that “the spirit of Elm” is embodied by this structure. Elm is about making great projects and having fun programming. It is about the joy of learning. It is about bouncing ideas off others to find better answers. So the Hack Night format is a great cultural fit for us.

Not all parts of the presenter/audience meetup style is gone though. We definitely still have free pizza and beer!

Before and After

I did maybe three meetups in the traditional presenter/audience style before switching, and it was amazing to see how the attendees changed almost immediately.

In one of the presenter/audience meetups, the topic was “The Taxonomy of FRP” and the audience was a mix of PhDs, authors of reactive libraries, and maybe a few folks curious what this Elm thing is. Most people had backgrounds in languages like Haskell and Scala. Now this was a fun event, but in a way, this was actively harmful for Elm. I was helping experts get even farther from mainstream programming! This is not how typed functional languages are going to break out of their niche.

As soon as I switched to the hack night style, the attendees totally changed. It became primarily folks who write JavaScript for work. (We also get a reliable subset of folks using backend languages like Ruby, Clojure, Erlang, etc. who are trying to get into frontend programming without going crazy.) More importantly, a lot of these folks are very new to Elm. Often people will come planning to get things installed while at the hack night. This is great! We end up with a healthy mix of new and experienced people, so everyone is learning from each other. Beginners gain confidence quicker by asking questions and working with others. Package authors stay grounded in reality, seeing how their API works for the real life humans they are trying to help. Core folks such as myself learn from novices and experts alike, making it possible to make targetted improvements to docs, libraries, etc.

So with hack nights, Elm is just a backdrop for meeting interesting folks and building cool stuff together. I think this was a huge part of how we built a community that is friendly and fun.

Designing Culture

Now I knew I did not want a presenter/audience style for my Elm meetups, but I was pretty clueless about what to do instead until I talked with Cecily Carver about how she ran Dames Making Games in Toronto. She shared ideas about collaboration and community building that were the primary inspiration for the hack night style meetups we ended up with. Thank you again Cecily!

Now, maybe a hack night will work well for your community, but maybe not! The point here is more that the spirit of your project manifests in your meetups. Elm is about everyone making cool stuff, so the meetups are too! Papers We Love is about reading interesting academic computer science papers, so maybe only the community building aspects of a hack night are interesting. For some projects, maybe nothing really translates at all! The real point here is that: even if you do not think about it, your meetups help define your community and its culture. If you are concious of this, you will end up with a healthier community and culture.

That said, it is super easy to be blind to your own failings. Sometimes people within a community may see themselves a certain way, but the meetups tell a different story. Maybe its like that for us! The only way to know is to come to one of the Elm meetups at the NoRedInk offices in SF and check it out. Beginners are welcome! (Feedback on how to do better is welcome too!)



Evan Czaplicki

@czaplic

Engineer at NoRedInk