Organizing Organizations

Angelo Saraceno
9 min readNov 7, 2016

When it comes to clubs, hosting meetings is half the battle. What happens when you need to scale? At Floatie, the Florida Hackers conference I was given a chance to speak about the issue of handling team tidal waves. “This is an accompanying medium post.”

Before I begin, I would like to thank Florida Hackers for giving me an opportunity to go up on stage and share my views.

I stated at the talk I will post my slides and outline what we discussed. The long delay between then and now was mostly caused due to dealing with plenty of tasks at the same time. I altered these notes into a blog post that expands on the thoughts and insights that I presented. The 5 min intro was a talk, but the Q and A was more conversational. So I got all the points that were brought up and turned it anecdotal.

Enjoy!

So you run an organization!

Congratulations, you are undertaking arguably the most fulfilling pursuit. No honestly, whenever it is a group of 2 to 999+ people, communities of all sizes do wonderful things to benefit schools, cities and people that you don’t know you impact. It takes quite a bit of work to get people out to events and working with other people to act on a common vision. For that, I thank you in advance. My hope is that you, the future (or current leaders) can learn to use the tools available to you to better manage and deal with the work around you.

For physical communities, people join clubs in what resembles a linear equation. Alternatively, the work and stress with running a club or chapter feels like it increases exponentially. Most people would like to increase the production value of meetings or add more events and as a result it just increases the workload for everybody. The obvious answer is to get more people to help you out, but getting everybody on the same page takes time and making sure that tasks get completed are a task in itself. This problem manifests itself in three major stages of clubs, as the people you become responsible for increases you move from each “class” of club. (appropriately named after boats considering the theme of the conference) I affectionately call them, dinghies, cruisers and yachts.

This post will assume that all organization dynamics are taken care of, and things are growing well.

From here on out, we will create a fictitious club and follow it through its story of growth into relevance and challenges it may face as it grows.

Getting To The Dinghy

Usually clubs start from tight friendships within communities. Sometimes it’s just a hypothesis that becomes tested. When you host your first meeting, that club exists. Clubs die when they stop hosting meetings- our goal is to build something that positively impacts people during its lifetime. The goal of a good club isn’t to not die, it’s to build something that brings positivity before it does. We can build organizations to stand the test of time, but building organizations to serve the only purpose of preventing inactivity is not a sound goal. If it works or it doesn’t is beyond us — we just focus on making great content and place for people to meet.

So we are building the Haskell User Group- or HUG. It doesn’t exist yet but all we have to do is invite people right? Not exactly.

First, we need to have a mission. For all intents and purposes, we won’t get into what makes a good one but a common goal helps us narrow our purpose and prevent us from spreading too thin too early. A good mission keeps the club focused and will provide the organizing team a good base plate to check on when we do want to expand the purpose. Something simple as…

“The HUG aims to develop a community of Haskell developers that work to spread the knowledge of Haskell to the school through workshops and meetings.”

It covers what we want to do and how we will undertake that goal. Dope, so now we can host our first meeting. We book our venue with our school, tell your friends and order some pizza.

[Simulating meeting]

Awesome, we have 7 people with us and they love Haskell and pattern matching! We have our community now! It’s a dinghy. Usually these groups get such a bad rap because they aren’t big, but personally I think they are wonderful because it allows people to get really personal with each other and feel like they truly belong. Seeing the strength of your community at any size is key when scaling or down scaling. The Dinghy is great because you can host events that are more feasible at a small size than it is when you are larger, like personal dinners or just hangouts.

Isn’t it beautiful?

So what do we do to organize these small events? Let us say a pasta dinner perhaps?

You could do it on your own, but now is a good time to involve people. We will scale to a organizing team of 2 to 3 people. You can set up a group chat application but it will turn out to be not a good idea. It will get the job done… but many things can go wrong in the future. What happens when you want to expand and try to onboard some of our Haskell lovers? What happens if the chat just devolves into humor and jokes? Group chats aren’t necessarily an issue, just an issue when you have to deal with assigning tasks to people because there isn’t proper integration with what has to be done. (plus banter) So it tends to get buried. In addition, it serves as a set for a potential plateau when your community needs to expand. If it isn’t IRC or Slack (two chat platforms) then you most likely will have issue expanding the conversation. I really recommend Slack for it’s ability to scale- so HUG will use that.

Getting to the Cruiser

Solving the famed problem of scale is easy, just not obvious. The major tidal wave that kills clubs early on is burn-out. Starting now to build a framework that allows you handle the next 50 people with ease can prevent your growing dinghy from capsizing. Whenever you host events, making all the information that people need to know for the Haskell dinner will make questions like “When, Where, What, When and How?” not as big as a headache when people need to message you.

It’s beauty is the structure- not the form.

Using something like setting up a Facebook Group with events is a easy way to manage interest, along with a non FB portal like Org Sync make it easy for people to follow along.

To take it a step further, creating a google calendar with all the planned events all done in advance so that people can RSVP to can make it so where you can get people to be reminded on their respective “calendar poison” of choice. (I picked iCal, don’t judge).

The next step to grow HUG is to build that framework.

So here are some tools to handle that…

Airtable (https://airtable.com/) is a great site to build databases and manage projects in all in one place. It allows you to set up your organization and keep everyone on the same page. The tooling is verbose but powerful.

GitHub (https://github.com/) repos allow you put example projects and workshop material in a nice place. If you aren’t technical- the desktop app is easy to set up to upload documents and forms that you might want people to see. GitHub pages and setting up a simple page with Jekyll to post blogs as events is a great way to set up an easy web presence. Whenever you need to host a web-app, a small Digital Ocean droplet is a great move to scale.

I mentioned Slack before as our chat app as our choice. Slack is a messaging app for teams like us who organize events and want to provide a place to continue the conversation. Slack (https://slack.com/) and splitting up responsibilities within groups along with a To-Do bot allows you to keep the conversation going along with your organizing team. I am a big fan of Howdy (https://howdy.ai/), it performs task assignment and stand-up along with a few project management goodies.

Even using a dedicated task manager might work out for most people, like Asana or Trello. Although you will have to deal with trying to get people to use those tools religiously the time it saves and the headaches it prevents is valuable.

Software isn’t the solution to everything when it comes to scaling. Generating good content is another hurdle but good software complements your team- and integrating it will allow you to focus on more important things like making said good content.

Arguably, Slack is my preferable tool because I have all my teams there and I can link it with bots of any time. Whenever I need a bot like Howdy to handle team stand up for you or just simple team building tools like Sensay I can have it all in one place. However, trying tooling out is key to making sure that things are done better. And keep in mind, something in this case is better than nothing.

Then plan ahead, plan ALL of it and do it in advance and post it someplace. Get all your posters done, get all your events done, then plan all of it. You want most of the time focused on promoting those events of yours so you can have more people for HUG. Oh wait, we still have that dinner.

So we have the location, the pasta, the two teammates helping us get sauce and spaghetti, everything is down on our FB page and the attendees are conversing on Slack and are getting closer. Hey even a few invited their friends!

We have 12 people in a dorm room talking about monads over pasta. Awesome!

Road to the Yacht Club

Goals

The ground is laid, but you need to promote your club so people learn about the wonders of Haskell. After a few more meetings, some posters pinned on campus and some example apps to show how functional programming is objectively superior to imperative languages.* (*Views of HUG, not me) we are ready to use some awesome tools to automate promotion of events and your social media.

But first, your team needs attention. Usually organizing teams can scale up to 50 or so people with a group of 4 dedicated people. However, they probably feel overworked and if it wasn’t for the cult like following you are fostering for a programming language they would have left a long time ago.

So you need a way to easily onboard. Remember that mission statement? Time to expand it, the next step would be to delineate what you do along side of your main goal. Will you invite functional evangelists? Will you serve the city and not only the school? Answering questions on what you will and won’t do will help your team in the future and the people that will succeed you. Usually, clubs grow larger beyond their founders initial hopes because the the ideas are able to supersede the mere conception that they are more the people. But in reality it serves a deeper need, companionship and comradery. A constitution serves this role- but nothing too heavy should be made.

Then summarize what roles need to be filled and start building a community within your community, the organizing team should know each other so well where they are very comfortable working with each other. This is where group chats work, (you just have to be mindful of making sure that it doesn’t become a clique) and once people become specialists in what roles need to be filled the goal is finally automating promotion and getting the word out there.

Hootsuite is a great for posting scheduled content BUT engagement response is generally low. Word of mouth is the best way, instilling a culture of sharing the experiences of (good) events is the best way to grow properly. You can do chapter visits to other clubs to try to get people of similar interests out to your events.

A respectable roster of workshops and hangouts is ready to be promoted. A fellow organizer designs posters, your other two organizers are working on content and then you and a friend are busy updating all the tasks and scheduling for the future and handling club business.

After two semesters or so, and we are now at 80 people, pretty large for a Haskell User Group. Rinse and repeat.

Even though we used a technical example, communities and their ideals are beyond the topic they serve. And any club on a campus or outside of work can fit this mold. What matters is that we serve the communities we build. Happy building!

--

--