Creating a Culture of Learning

We have a very special user group in Nashville, NashFP. I didn't start the group, that credit goes to Bryan Hunter, though I did manage to wander into that very first meeting where none of us knew exactly what to expect. I got hooked and it has become one of my favorite events to attend monthly. I've seen the group evolve from that first meeting, and there are a few things that I think make this group extra special.

We don't have dinner. Our sponsors bring in a few snacks and lots of coffee to keep stomachs from rumbling and that's it. We're here to work and learn, not shove greasy pizza and soda down our throats.

We don't have monthly presentations. The focus of a single meeting is never dominated by a single person. Every month is a grab bag of labs and micro presentations. In any given meeting it's basically a guarantee that you are going to be exposed to something new.

We don't have monthly agendas. Because we have such a variety of things going on, every month is going to be different from the last. Meetings aren't planned months in advance because the group is driving the direction.

We write code. Everyone brings a laptop and their favorite text editor. If you don't show up with a laptop, you pair up with someone. You don't learn skills from a powerpoint presentation. Videos and presentations prepare you to do the real learning as you fumble through coding exercises.

We share. Everyone eventually gets in front of the group and shares something they've done, something they're doing, or something they're stuck on. It's not forced, but if you participate in our group for any length of time I feel confident that you will feel comfortable hooking up to the projector and giving a quick talk. The bar is low, 10 or 15 minutes is common. No slide deck needed - just show some code and start a conversation around it.

No Masters. I mentioned above that Bryan started the group, but he's not the only leader. That's on purpose. We have a group of facilitators who rotate responsibility for getting the monthly meeting organized. We also have a github repo where we coordinate around programming challenges, and every member is also an admin. No single point of failure.

No one gets left behind. We welcome everyone who is interested in functional programming. Being a functional programming group is broad enough to guarantee that everyone is a n00b at something. No one is judgemental, because we know that we all have a lot to learn. If someone is stuck, those that aren't will become assistants and help that person catch up.

I haven't mentioned this yet, but we do this every month FOR 3 HOURS. By the end of the meeting, you'd think that people would rush out the door, but it's quite the opposite. Frequently meetings "end" and we're still going.


If you are interested in functional programming and you happen to be close to Nashville, then you owe it to yourself to stop by one of our meetings. You can expect to learn something and I bet you'll want to come back. If you don't live in Nashville, please consider using this as a blueprint to start your own functional programming group in your town.