Little, if any, sleep. Staring at a computer monitor intensely for hours on end. A steadily ticking countdown. Caffeine downed by the gallons. Red-rimmed eyes.
Ahh, the joys of a hackathon.
After participating in several of these collaborative programming marathons, Luke Stokes, CTO and co-founder of Foxycart, was inspired: Why not recreate that experience for the Foxycart team and hold an internal hackathon? He ran the idea past co-founder Brett Florio who enthusiastically agreed.
And so, Foxycart's first remote hackathon was born.
Remote hackathon speedbumps
The Foxycart team had four major projects in development, but progress on each was slow. Stokes decided to make one of these the focus of their hackathon. “We decided to put it to a vote to the team using Doodle. From there, we went with the project the majority of the team wanted to work on.”
With the focus decided—a rebuild of the user admin interface—the next step was to schedule the event. Because Foxycart's distributed team is spread across seven time zones, there was initially some confusion about the start time. "I just said ‘Thursday’ without clarifying whose Thursday," Stokes admitted. "We ended up going with UTC, 0:00, because there was no time specified." In retrospect, Stokes feels it wasn't the best solution: those in the U.S. jumped straight into the hackathon after a full day's work.
As the event got underway, things didn't exactly go smoothly. "As with most hackathons, the first few hours were a bit frustrating. Many members of the team had to get development environments set up before they could do anything productive and had never worked directly with this type of testing environment before."
Once all the collaboration and access kinks were worked out, however, the fun really began. People jumped into tasks they were interested in, using a Google+ Hangout to communicate with the rest of the team. According to Stokes, "[In it] we cracked jokes, asked questions and enjoyed spending time together solving problems."
The event lasted a full 24 hours, although team members occasionally logged out for a few hours of sleep. "I, as an example, got three hours of glorious sleep," said Stokes. The Google+ Hangout allowed those coming back to work after a bit of shut-eye a chance to get caught up on what had been accomplished during their downtime.
Teams that hack together stay together
Because the team rarely works together in real time, the hackathon accomplished more than just moving admin development further along. The event also provided a way for the team to grow closer and gain a deeper respect for each other's passions and skills.
"The team clocked 110 hours, 28 commits and 3,296 lines of code modified."
And what about the traditional pizza and energy drinks? The team tried to incorporate these elements into the event with limited success. "We talked about coordinating a remote pizza delivery to everyone's location, but it didn't end up working out. At one point, we did sample our favorite beverages together."
They also cranked up the music a few times. "We shared a few songs via the Google+ Hangout and talked about what we were listening to."
Despite the bumps in the road, Stokes is extremely happy with the end results. "The team clocked 110 hours, 28 commits and 3,296 lines of code modified. One of the best aspects of the exercise was that the entire team got on the same page with the project."
Hackthon #2: Lessons learned
That first experience was such a success that the team decided to hold a second hackathon a few months later. This time, they tweaked several aspects of the event.
First, they chose a start time that better fit everyone's schedules. Stokes said they were also better organized for round two. "Brett Florio, my business partner and our CEO, looked at everyone's strengths and suggested some areas to focus on for each team member. That worked out very well because it was what people already wanted to work on."
Finally, everyone got a bit more sleep during the second hackathon. Why? "We learned through the first event that at some point you hit a wall of diminishing returns," Stokes observed. "At that point, it's better to take a nap."
With two remote hackathons under their belt, the Foxycart team is looking forward to another one at some point in the future. Stokes reiterated the team-building power of this type of collaborative experience. "We got to celebrate each other's success as we helped each other move forward."
Has your distributed development team ever tried to do a remote hackathon or group event together? If so, tell us about it in the comments section below.