This month, my second and final term as the president of ACM@UC will come to an end. As I prepare to transition operations to the next executive board, I wanted to take the time to reflect upon the past two years, and some of the things I've learned.

Building Community

The primary mission of ACM@UC is to facilitate the building of a computing community at UC, and so that's exactly where my priorities have been over the past two years. In a handful of ways, I think we've been successful. ACM@UC has 60 full members this year, up from 15 the year before I took office. Meetings are usually attended by 25-30 people, and over 40 people check into slack on a weekly basis. We send an average of 1,000 messages a week, for more than 78,000 messages over the lifetime of the slack. The slack is actually a great way to visualize our growth.

acmcincy-slack-active-users (The chart doesn't have y-axis labels, but each horizontal tick line is 10 users - the chart peaks at 61 weekly active users.)

Our slack has existed for a number of years, but as this chart shows, it's revival started in the summer after I took office, as the executive board began to use it to communicate, and as the semester began, members joined as well. (It's also cool to note drops like winter and spring breaks). The slack has turned into a home for news articles, release announcements, and blog posts, and they usually see at least a little discussion. It's exactly what I've wanted from a community, and I hope other uses enjoy it too.

My priorities this year have been simple, engaging and interesting meeting content, great events like hackathons, and fostering community growth in areas like our Slack. I think that if the student group is going to hold regular meetings - they had better be good. Someone who comes to meetings and sees a disorganized presentation that clearly hasn't been practiced or well thought out is sure to leave with the impression that the community isn't worth their time. I know, because I think that's why so many people who I met at my first meetings aren't around anymore. So, that's exactly where my team started off - we scheduled meetings well in advance and organized speakers and talks we thought were interesting. There were definitely speed bumps, but when aren't there? We cut back on the web tech talks, and made talks non-interactive, and lowered the complexity of workshops. All things we had to learn, but we did. Over the past two years, I've presided over 28 meetings, including 10 talks I've given personally. There are some recordings of these talks on our YouTube channel.

RevolutionUC has been a fantastically rewarding experience to organize, and we've grown it in size from 160 hackers to 315 over the course of three iterations. To me, the event is the high point of our computing community, and I'm very happy to have had a part in making it happen. I've had the chance to work on not one, not two, but three RevolutionUC's and I cannot emphasize enough how great it has been. It's been stressful, it's been fun, and I wouldn't do anything different if I got to do it again (Well, maybe judging at RevUC6 would have gone better).

I've also had a chance to work on a number of other initiatives, like tutoring sessions, C++ reviews, the International Collegiate Programming Contest, and smaller events like helping other local hackathons. I've been exposed to a lot of great people and members of the larger Cincinnati tech community through my work with ACM, and it's been enlightening to learn things from everyone I meet.

I certainly haven't done any of this by myself - I've had a fantastic group of exec members behind me the whole way, and they've given great talks, implementing amazing initiatives, and taken over when I couldn't make things work myself. Nothing that's happened over the past two years could have happened if we were missing a single one of them.

A Framework for the Future

The bulk of my work with ACM@UC has focused on what I think the core of the group is, and making sure that it is sustainable for the future. I've forced the exec group to maintain activity logs, in the hopes of building up transition documentation. I saw a talk at MLH Hackcon by Joe Nash once, about the cycle every student group goes through. I think it couldn't be more true. In a nutshell, the idea is that a student group fills a community gap, and it grows and gains traction until all of a sudden the organizers that started it move on - leaving an experience gap. The new leaders that take over seek to make their own mark as they struggle to fill the experience gap. Eventually the club wanes and either a new group is born, or is reborn from the ashes itself. I've spent a lot of time working to extend the successful period of the organization past my time as the leader. Having inherited a waning organization, my goal has been to build up documentation, limiting the loss of tribal knowledge, and building a framework to avoid the waning - I want ACM@UC to continue growing and succeeding.

Largely though, I know that's out of my hands once I leave the exec board, and that's okay. My departure will make way for new leaders, who I think will take ACM in new and great directions, and who will very likely run the organization better than I ever could. I hope I built a framework that enables that, and that the leaders of ACM@UC continue to work hard to grow our computing community.

What now?

I'm finishing up my junior year at UC, and I'm looking forward to enjoying campus life for one last year. I can't wait to see where the new group of exec members take the organization, and I look forward to being an active member of the community. Maybe I'll finally find the time to work on some of the programming projects I've been holding off on!