September 4, 2023

Eight years of organizing tech meetups

This is a collection of random personal experiences. So if you don't want to read everything, feel free to skip to the end for takeaways.

I write because I'd like to see more high-quality meetups. And maybe my little bit of experience will help someone out.

2015: Philadelphia

I first tried to organize a meetup in Philly in 2015. I was contracting at the time and I figured a meetup might be a good way to source contracts or just meet interesting people. I created the "Philadelphia Software in Business" (or some other similarly vaguely named) group on Meetup.com.

I didn't have any network; the first companies I worked for were not in Philly. But Meetup.com got me a few tens of people joining the group.

My first challenge was finding a place to meet. I didn't know what I was doing so I looked at restaurants, bars, and cafes for dedicated event space. Needless to say, renting space was expensive on its own. And there was always an additional required minimum dollar spent per attendee.

I ultimately found a place near the Schuylkill River. Maybe it was a community event space. Maybe I paid for it. I can't remember.

The first and only time I hosted an event for the group, I got a surprising number of people for such a vague topic. There were maybe 6 of us. I was the youngest by far (I was 20), they were middle age. Excel users and one visionary type.

There was no real point to the meetup and I didn't continue doing it.

2016 - 2017: Linode

While I was at Linode, I organized "hack nights". I didn't ask for anyone's approval before starting it. I just said I'd be ordering pizza for anyone interested in staying after work to hack on Linode-related projects. I was willing to pay for the pizza, in part because I didn't want to risk being shut down by asking. But caker paid for it each time.

I was nervous because people would show up and ask for pizza and not want to hack. It was company-provided under the aspiration of doing Linode-related work. Maybe I mentioned this or not. I can't remember. I'm pretty sure they got their pizza.

Aside from myself, developers at Linode didn't really attend. The folks who attended were support staff or folks from the technical writing team who wanted more experience coding.

I ran this for maybe 3 to 5 Wednesdays before not continuing. It was pretty fun! But staying after work for a few hours each Wednesday lost its charm.

Book Club

Another time at Linode I started a book club. I was very torn about attempting to make the book club open to anyone in the area or just to Linode employees.

I knew I'd probably get more people to attend if I made it public. But I wasn't sure if Linode would be cool with having external folks in the office. Before they moved to the Old City office, visitors weren't really a thing.

So I made it private to Linode. And I started with the most obvious book for your average developer: Practical Common Lisp.

I am pretty sure I learned one big trick by this time though. When I announced I'd be starting the book club I said something like this:

Hey folks! I'm thinking of starting a book club. A book I have in mind to start with is Practical Common Lisp. If I get at least one other person to join in then I'll move forward!

I ended up getting two folks: one developer and one support staff member. We held the book club for 30 minutes once a week, covering one chapter each week. I was the only one who read anything I think, but the other two guys faithfully showed up for discussion.

I didn't ask for permission to do this either. And this time we met during company time. I think it was 2-2:30PM.

It was fun. We finished the book. But Practical Common Lisp probably wasn't a good choice. And I don't think I started a second book.

2017 - 2020: False starts

I moved to NYC and joined a small startup (~20 employees). Linode was 100+ employees.

We were in a WeWork so I considered starting a book club that was public to the WeWork. I had learned by then the law of numbers: I probably wouldn't get anyone from my company to join.

I considered putting up posters around the WeWork to advertise. But in the end, I didn't end up going through with anything.

I did present at a few meetups in NYC during this time. But I didn't organize anything.

And then the pandemic hit and everything disappeared.

2021 - 2022: Virtual

In 2021 I started contracting again, thinking about starting a company. I wanted a community to be at the center.

So I started a Discord focused on software internals.

I had a bit more of a network at this point so I posted about the Discord on Twitter and got 100 likes or something and slowly started gaining folks in the Discord.

I knew it was going to do better if I was pretty active in it so I made sure to post interesting blog posts at some regular interval. About compilers or databases or something.

The Discord didn't turn out to help me out much in the starting-a-company front. Or I didn't use it effectively for that.

I wanted more of an independent Discord of cool people who like to learn about systems internals. And that's what I got.

This turned out to be ok though because I stopped working on that company and the Discord is still around and I still get to hang out with cool people.

This Discord is still around and hit 1,700 members recently. Among other things, it has developers from many different database companies in it these days. They hang out and help out the noobs like me learn about database internals.

I culled inactive members recently, so today the total is around 1,100.

Hacker Nights

During the pandemic I became frustrated that all the good meetups disappeared so I decided to start an online one that would be somewhat tied to the Discord and be about software internals.

I would find 2 or 3 people to present for 10-20 minutes each on anything to do with software internals. We'd meet once a month at 8PM NY time I think.

To get speakers I'd mostly DM people who I saw do interesting things on Twitter or Hacker News. I was lucky to have Philip O'Toole (author of rqlite), Simon Eskildsen (author of the Napkin Math blog), Rasmus Andersson, and many other excellent folks speak.

You can find videos of these talks on YouTube.

The events were organized on Meetup.com. The group grew quickly and I'd have about 100 people RSVP to each event. 10-20 normally showed up.

I'd post a Zoom link on Meetup.com. Sometimes Meetup.com crashed right as the meetup started, so no one could get a link. That was fun.

On two different nights I had Zoom bombers show up and play crazy music or impersonate other members of the call and act weirdly (Zoom lets you change your name after you've joined the call).

I learned a little bit about how to administrate a Zoom meeting.

I ran Hacker Nights for 5 months. It was tiring to find speakers, tiring to deal with Zoom bombers. It was thankless and I wasn't really enjoying it.

I was proud though that I was offering a channel for developers to learn about software internals of compilers, databases, etc. And it was great to meet many interesting speakers and attendees.

2023: Designing Data Intensive Applications

A month ago I put out a call on Twitter for folks in NYC interested in reading through the book Designing Data Intensive Applications.

I'd read the book before and while it was challenging, I knew it was immensely useful to any developer who works with data or an API.

By this time I'd learned my second trick: not asking for public responses.

I said something like:

Hey folks! I'm thinking of starting a book club meeting in Midtown NYC reading through Designing Data Intensive Applications. DM me if you'd be interested! If I get 2 other interested folks this will be on!

I got maybe 40 DMs and 20 of them were based in NYC. Attendence thus would have been higher if I made the book club virtual. But virtual events take about as much effort as in-person events and somehow feel less rewarding. So I went through with the NYC group.

I'm sure I could have gotten some company to provide us space, but this would just mean more negotation for me and tedium for everyone involved (bring your ID to be checked in, make sure you're registered, etc.).

The group would meet every 2 weeks and cover 2 chapters at a time. We'd meet for 30 minutes. To avoid needing to find a place to meet, we'd meet in public at Bryant Park. (There turns out to be plenty of available seating on Fridays at 9AM in Bryant Park. When it rains we meet online.)

I wanted to keep the overhead minimal and the timeline slightly aggressive. We'd be through the book in only 3 months. No crazy commitment.

We've meet twice now and are 25% done the book. Attendance has been around 7 to 9 people each time so far, or a little less than 50%.

They're almost all software developers, with one manager I think, who work for a variety of large and small tech companies.

I'm loving it so far. And if it continues to go well, I'll probably continue running in-person book clubs.

But it would only meet a few months a year, giving me a few month breaks from running it.

Takeaways: The meh

Organizing any event takes effort. Meetups are especially hard because you need to find a place to run the meetup, you probably want to provide food, and you need to find speakers.

Often you can find a single place to host the meetup, but you have to constantly search for new speakers. Even one of the greatest meetups in NYC, Papers We Love, seems to be struggling to find speakers.

The CMU Database Group and the Distributed Systems Reading Group seem to have the right idea though. They only run sessions part of the year, and they plan out all sessions in advance (including speakers).

However, they are both virtual. And I'm not so interested in running virtual events anymore.

Takeaways: The good

For one, meetups are an awesome way to meet random people and expand your network.

Two, they're educational. Even beyond the content you are meeting about, there's the discussion alongside it you wouldn't get by yourself. And you, as organizer, get to pick the topic.

These work out great for me. I love to meet people, and I love to learn.

Tricks

Starting something new is embarassing because you're putting yourself out there. Maybe no one in your network shares your interests (to the degree or in the direction you do).

My tricks are:

  • Most importantly: keep things low key! Don't stress people out. Before learning and networking, the point of meetups is (or should be) fun.
  • Saying you are "thinking about X" is a lightweight way to gauge interest. As compared to just saying you're "starting X", which gives you less room to back out if there turns out not to be interest.
  • Asking people to DM you with interest is less embarrassing than asking for people to respond in public. Not everyone would want to respond in public. If there's interest in private, you can share the interest in public later on. But if you only ask for responses in public and there are no responses, that can feel embarassing.
  • Indicating success criteria can help people understand how big you're thinking of. I'm normally fine with doing something as small as only two other people, so I say that. It's kind of like how Kickstarters work with minimum funding levels.

These ideas apply to corporate planning too. I think about them when I'm sharing some new idea in company Slack as much as when I share on Twitter.

A note on attendance rates: 10-20% actual attendance versus RSVP seems normal. If you get a higher percentage of people actually attending versus RSVP-ing you're doing pretty well!

Finding sponsors

One final idea is about paying for space or paying for food. Companies with space and money for food are often willing to partner with folks willing to do the work to run an event.

Running your own event in a company's space is advertising for them. They get to be associated with cool tech. It's a chance for them to pitch their open positions.

Obviously this happens often when you start a meetup hosted by your own company. But you can also find other companies to host space.

The kind of people to find to make this happen are senior developers or engineering managers, often on Twitter and sometimes on LinkedIn.

I haven't done this myself yet because I'm not ready to commit to running a meetup. But I see it happen. And it's the approach I'd take if I were to run a real meetup again.

Though now that I've got some time off there are a few talks I'd like to do myself.