I spent most of last weekend at my alma mater, UMBC. Friday night, I met some new mentees through the CWIT mentoring program, and Saturday and Sunday were spent at HackUMBC. So, lots of opportunities to observe undergraduates in action and answer questions about what sorts of things my company does and who we hire.
The hackathon was a very interesting experience for me. Participants got started after lunch on Saturday and turned in their projects Sunday at 1. There was no guidance on what to build or who to build it with, other than that teams could consist of 1-4 participants. There were a few prizes offered by sponsors such as ourselves for which a team could go after – ours was for best data visualization but others sought best hack using Docker, best use of public financial data, or best use of Google Cloud Platform, just to name a few. There was nothing stopping a project from applying for multiple categories: I know we saw a project for our data visualization judging that used financial data and Docker containers – not sure if they hosted anything on Google Cloud Platform.
The goal of a hackathon isn’t only to win prizes, of course. It’s also supposed to give teams a chance to learn and apply new skills. The team that won our prize used Unity, a gaming engine. Other teams used d3.js or plot.ly or Google Maps + some HTML or even Minecraft (linking directly to that project – innovative idea). Some teams got farther than others: one team had a great concept and a locally installed Jupyter notebook (via Docker, if I remember correctly: check off a potential prize category) with a well-built out machine learning model that they could reason about and defend. But they just hadn’t gotten to hooking up their prototype UI to their data. Another team had a drop-down list to trigger a visualization, but could only as yet talk to their concept of the visualization. That didn’t win them our prize, but still gave those teams a good bit of interesting experiences to talk to us about.
Remember, these students had 24 hours to bring together a team, put together a project concept, and then execute on their concept. Now, I know practically that some of these folks team regularly together. And at least one team indicated they’d been scraping Twitter data ahead of the event to give them a leg up on building out their display that needed geo-located tweets. Still, though: I saw team formation happening in the hackathon Slack channel and at the tables in front of our sponsor area.
What was more amazing to me was that a few teams came up to our table and asked my guidance on what tools to use. Some of that happened late in the afternoon on Saturday. Meaning, they were picking their toolkits on the fly, and then building out their app without prior experience in at least portions of the stack. For a project that had a hard timeline, though admittedly loose requirements. Wow – the very thought gives me personally the shudders, were I in their shoes. Uh, I’d want to form my team knowing that folks had complementary skills that could come together to solve a generic set of problems. One team told me they didn’t know how to interact with databases and knew they wanted one, so they coded up a flat file database on the fly. I have to believe I’d have taken a different route, but kudos to them for pulling something off with it.
I’m trying to imagine how to use that hackathon idea for an event at my company or through BWIC. I’d have a hard time personally carving out a full weekend: attending the event during the day was a big enough lift, but many of the students stayed overnight. One indicated to me she’d had a great idea and burst of energy after her 20 minute power nap. Ugh. Been there, done that, don’t wanna go back! But maybe spreading it out over a week would work. Or constraining it to a day. It just looked like so much fun!