Hackathons for Remote Teams: Our First Attempt
As a programmer, I love not having to make excuses for how much I enjoy my craft. I don't have to explain why developers, designers, and programmers slave away all week, possibly at a company they don't even like, only to spend a Mountain Dew infused weekend hacking away on something with little or no sleep while being paid the incredible sum of $0.
I am, of course, talking about Hackathons. They are incredible events where ideas and companies are born. Where frustrating new development environments can suck the life out of you, and new technologies, frameworks and languages beckon you with promises of greener technology pastures. (We won't mention how often "hello world" apps in these previously unknown playgrounds end up being the only deliverables.)
At FoxyCart, we have a powerful strategic advantage. Every one of our team members, from CEO to QA to tech support, writes code. We get it. We do it. That's why we sponsor, attend, and speak at great events like Lone Star PHP, Hack For Change, Hack Nashville, Word Camp (Nashville, Seatle, Los Angeles), Sunshine PHP, CoderFaire Nashville, and many others. As such, we love hackathons. We also love remote teams.
But how can a remote team across 7 timezones be part of a hackathon?
That's something we wanted to explore.
As a bootstrapped startup, we don't wipe our butts with $100 bills. Every dollar has a purpose, and we do our best to make every minute count while having a lot of fun in the process. Since 2007, we've delivered incredible value because we love what we do, and we care very deeply about our users. We also care about our team. Without the deep pockets of companies like Google or Atlassian, 20% time seems unobtainable. So we're starting with a single day, and we're keeping it focused on one big project.
Thursday, July 11th, was our first ever FoxyCart Hack Day. We wanted to create an opportunity for our team to explore new technologies, work on interesting things, and interact more as a team. We also wanted to move a big project forward.
Here's what we did:
- Created a Google Drive survey (shown on the right) so the team decided which major project we're going to focus on.
- Realized timing an event across so many different timezones is really difficult. Doodle.com helped solve that.
- Further realized starting at 0:00am UTC isn't a good idea since those in the US started around dinner time after already working a full day. Splitting up the hackathon across two days was awkward.
- As with many hackathons, we ran into the exact same challenges of setting up development environments. Some team members needed new VPN access, new sandbox accounts, git checkouts, etc.
- We had a Google+ hangout going almost the whole time. We already do short weekly hangouts, but this was the first time everyone was chilling together for an extended period of time, and it was really fun. We were all helping each other get set up and learn new things.
How did it go? We'll let our team answer that.
Brett Florio Co-Founder, CEO, Product Manager
I thought it was pretty awesome, but it was also really interesting to see how different a G+ Hangout was from us sitting around real tables.
I feel like if it were in meatspace, we would have segregated into smaller groups. Which I think would have been good and bad. Good because I think the whole team communication was really cool. But bad because I (personally, at least) had a super difficult time actually getting anything done when I was in the hangout :)
Also, even though we spent a solid chunk of time getting everybody's environments ready (THANKS FRED!), and we had some learning to do with permissions and ssh-agent and such, that was definitely to be expected, and it actually went much smoother than I thought it would.
I'm really liking what it feels like when the whole team works on the same thing though. Luke has floated the idea of really focusing the whole team on a single project at a time, and I'd love to see what that looks like. (ie. Not a 24 hour hackathon, but a "this is what the whole team is working on this week" type of thing.) We all have disparate priorities, which I think makes us move much slower than we otherwise might. I'd love to see what it'd look like to say, "Yeah, we all have other stuff, but for the next 2 weeks we're all going to focus on the new admin." (Or the API, or API documentation, or v2.0 Responsive, or rebuilding subscriptions, or etc.) Any of those projects requires all of us (programming, UX/UI, visual design, product management, QA, documentation, www, systems, etc.), and I'd love to see what that type of synergy looks like.
Fred Alger Lead Sysadmin
Wow, it was a rush! Having everyone working all over the world on the same things all at once feels so cool. It's a very different vibe from our day-to-day asynchronous work. I think it was a very good thing to have all eyes on same the problem at the same time, especially since we're making major changes with our new admin. I ended it tired, but loved it and would love to do it again.
Adam Judd Developer, Support Liaison
It was certainly an awesome day, it felt great to be a part of something that everyone else was pushing forward as well - although not being able to hang in the hangout did feel a little isolated. Certainly no one's fault but my own, but it was interesting to spend the morning in it, and then continue outside of it and feel like I missing half of the party. [editor's note: Adam uses a limited Internet plan and was near the end of a billing cycle]. I'd certainly be keen to do another day, sooner rather than later, to continue the push we've started. Especially considering we're all set up now, we won't spend most of the first day getting everything ready to start :) In terms of my involvement, I didn't really get anything of substance done, I spent most of the time getting up to speed with how the code was laid out and worked, but did sneak a little change in for the API.
I'd also love to see the week long focus stuff Brett mentioned too. Less about a single day, and more about a continued concentrated push in a single direction.
Evgeniy Abduzhapparov Developer
Thank you for the hack day. It was great experience for me.
Not sure about others' progress but I am satisfied with mine. I think having a hack day monthly would be great. I suggest having the next one even earlier as everybody still remembers what he was working on. If we could complete the new admin, it'd be awesome.
Also I think we should have prepared better to the hack day so we wouldn't waste time on get everybody involved. So if we start working on a new project, everybody should be familiar with the technologies we use: frameworks, patterns, how the pieces are connected.
If we're going to have a hack day on regular basis, my suggestion is changing start time every other hack day so the Americans could also wake up and start coding. I think it's more productive than splitting the hack day into two pieces.
Again, thank you for the experience we all got.
Sami Fiaz QA Director
First of all I would like to humbly thank everyone for making this possible. Especially Fred for setting up things so smooth that working on it was like working on regular sandboxes, which was a huge help. Thanks Evgeniy for helping me for getting this all started (I had no idea what I would do even before few hours of HackDay), Luke, who came up with this idea, and everyone else for making a great hangout.
So long story short: 24 hours to hack anything that you never touched before and coming up with something that I could show was a great win. Looking back now, it doesn't sound like a big deal but it was a new wave of confidence for me. The big win for me was to push the limits of what I thought I could do in a day. And I think that excerise will help increasing my productivity in regular days.
Although 24 hour time period was bit short I think... Other than that, it was great fun!
Josh Bartolomucci Marketing, (Web) Design
Though I didn't get as much accomplished as I had wanted to, I felt the hack day was a huge success. I was able to work on some areas of FoyCart that I hadn't before. But my favorite part of the hack day was being able to brainstorm and dream with the rest of the team. Fred, David, and I had some amazing discussions on what the ultimate FoxyCart admin would look like and how it could be built. I left with tons of great notes and ideas for some new mockups. It was an amazing 24 hours with a group of gents I am honored to call friends and team mates.
If you work at a startup or you're part of company leadership, and you're interested in doing your own Hack Day, here are some key things to keep in mind:
- If your team is already overworked, the idea will probably be shot down. Make sure boundaries are in place and family comes first.
- This isn't free labor time, and it isn't about deliverables. You're paying your team to try new things and explore new concepts. They might even go a direction you've already spent time researching (we had some interesting discussions along those lines). Give them the autonomy they want.
- Make sure the spouses are onboard. Depending on how much time you put into it (I think I went to sleep at 3am and was back into working again around 8am), you may be a bit tired.
We hope to do more FoxyCart Hack Days in the future because the team enjoyed it, and it brought us together. We got to turn off distractions and do what we all love doing. We got to write code.
We'll leave you with some stats Fred put together for the event.
The views expressed in the above post are the author's own, and may not reflect those of FoxyCart.com LLC.