Hackathon Recap: Winning Formula

Jason Brown
4 min readJan 22, 2020

--

Our Denver and San Francisco-based cross-functional team

On Friday we completed an awesome hackathon week at Checkr. And our team placed first out of 17 teams! Personally this week was the most fun work week all year. Given the tight timeline and ambitious team goals, it was stressful and there were some late nights. But we built a feature that is both commercially impactful and directly supports Checkr’s mission. The feature could have a real positive impact on thousands on people’s lives.

Despite the result, the hackathon was not all peaches and cream. There were technical and team difficulties. Here’s a recap:

What worked well:

Preplanning: In the week prior to the hackathon, our tech lead built an architecture tech-spec and our design lead built app-mockups. We also met with a vendor with whom our new service would integrate. All this work allowed us to spend the first day not planning, but divvying work and developing.

Limited scope: During the preplanning phase we narrowed product scope. Once the hackathon started, we kept a list of features and marked them with the following categories:

  • Demo: Highest-priority features necessary for the 5-minute live demo.
  • MVP (“minimum viable product”): Necessary before the feature would be available to real users. This included vendor integration (rather than mock), authentication, and payment testing via Stripe.
  • Future work: This included funnel analytics, our identical feature in another of Checkr’s products, Spanish-translation, and edge-cases.

Colocation and Pairing: The Denver portion of our team all sat together in a private room with five desks. This allowed for easy pairing and coordination. The desks had a typical monitor and keyboard setup which allowed for the efficiency of a normal workspace.

Practicing our Presentation: The presentation was comprised of a few slides, tech demo, and Q&A. Our design lead, who gave the presentation, spent time rehearsing it with the team. Our product lead provided suggestions. This rehearsing and feedback led to presentation that was clear and concise. Also, delivery by a non-developer team member meant the presentation focused on the impact on the feature to the user, rather than over-describing technical details.

What Could Be Improved:

Infrastructure: The hackathon served as a rollout for both Checkr’s Gitlab integration and individual Kubernetes (“K8s”) environments. Since the demo utilized too many services to be run locally, we spent all of Thursday (~25% of hackathon) in a near code-freeze state while we deployed to K8s. The K8s environments utilize Helm to allow teams to run the full Checkr suite while pushing up branches of specific services, all while not impacting Production environments. Having our own integration environment was a big win!! However, it took a full day and a lot of troubleshooting. This was due to slow docker image uploading over VPN, cached images, and limited infrastructure team support as they were also participating in the hackathon.

Deploy early and often: Given infrastructure and the typical integration difficulties, we should have inverted our timeline and moved infrastructure and deployments (using mocked responses) forward. This would have allowed stakeholders to provide feedback earlier in the hack-week. Also, had we deployed earlier, we could have taught the K8s deployment process to all devs, who could then own their deployments, rather than having a subset of the team or an individual manage it.

Intra-office tension: Hackathon deadlines are stressful. Teams are new. Specs are only partially groomed. Integration between backend and frontend, and service-to-service, is difficult. These factors lead to stress that at times manifested itself as conflict between factions in the different offices. There’s no easy fix for this. Deploying early and often may have alleviated some of the stress. Despite twice-daily standups, more intra-office one-on-one developer pairing may have helped. Luckily the feature came together in-time, so the pain along the way is forgotten.

What comes next?

For winning the hackathon our team won an outing of either “hang-glide lessons,” “high-speed go-karts,” or a “cooking class.” Count me in for the latter two 😄! The judge presenting the award noted that the feature we built had been discussed for a year and that the presentation and Q&A was “polished.”

team members: Chad Fong, Holly Bowen, Megan Goddard, Melanie Cernak, Tony Maitz, Scott Duane, Brett Caudill, Jason Brown, Lianne Espeland, Michael Erdey, and Michael Hoppes

Will this hackathon team be given a few more weeks to get to an MVP that could be released to real users? Will the project be handed over to an existing team? Will it live on volunteer time? We will see!

Hope these tips and pitfalls help your team in your next hackathon.

--

--