Categories
general programming

Organizing a Hack Day

I have been pushing for 2 months to institute a monthly Hack Day in the company, and it has happened finally on Feb 13-14! Having a company culture that fosters creativity and engagement is important when you work with technology. Technology is all about the new, and the new is all about synthesizing new ideas to create and adapt. The environment in which you are can make a big difference. Whether you talk about the network effects of being in the city that speaks to your interests Cities and Ambitions, or you are talking about opportunities that come with family upbringing, or the general attitudes and behaviors of the workplace, it’s amazing how your surroundings can be so important and yet subtle and difficult to quantify. I’m proud of the efforts I’ve been making so far, including the monthly Hack Day, to make committed first steps in introducing tangible, bottom-up, creative spaces.

Another thing that has been quite simple and (at least somewhat) effective is to “screen” tech talk videos on a weekly basis. By tech talk videos, I mean the kind of videos that get made at conferences or by Google of invited speakers. And by “screening”, I mean taking my laptop to a conference room during lunch, hooking it up to a projector, and playing a video off of the internet based on our “playlist”/”queue” of videos from the list in our internal wiki. It helps explain new technologies in a way that doesn’t happen by emailing a link to a documentation page. But it has also been a means to introduce ideas of the Customer Development process (Steve Blank), the Design Thinking Process (IDEO/Stanford d.school), company culture (Dan Pink, IDEO), and other ideas (like how to think innovatively, or like some of Bret Victor’s profound and amazing talks). These are ideas that I believe need to travel horizontally and vertically through the company, and I’m doing what I can that’s in my control — the spreading of ideas horizontally through the org chart.

In fact, since Design Thinking is a tangible way of being customer- and needs-driven (think of it crudely as the first step in the Customer Development process), that has also been an idea that I also emphasize when I can. So as I envision it, once the monthly Hack Day becomes a regular fixture, it can be a platform for conducting special programs every once a while. In particular, there could & should be a Hack Day instance devoted to doing a full-day workshop on Design Thinking, just like the amazing, incredible 8-hr Design Thinking workshop that I did at the Stanford d.school back in April 2012.

I’m waiting for the right moment to push for hosting meet ups in San Francisco. The Palo Alto office could already host them, but I first would need to be regular on attending the South Bay meet ups, which are too impractical at the moment to attend. But meetup hosting could be in the offing.

So that is the high level thinking about culture and making the environment around me better. But what about the blow-by-blow details of organizing a hack day? As it turned out, for one reason or another, it fell to me to organize the “arrangements”. And by arrangements, I mean that no one really know what such an event requires. As far as I’m concerned, it really only requires free food and enough space for everyone to organize. Ultimately, that is all it requires, and we have that. So the details really come down to the introduction to everyone (reminding people to collaborate and impress) and accountability (ensuring food is exchanged for quality effort). So here’s how it went.

Morning arrangements:

  • Inform the front desk / security about the influx of people coming from other offices
  • Ensure that there is enough space for everyone to work
  • Ensure that there is a space suitable to present

Introductions included the following:

  • Everyone introduce their name, their office location, and {idea they will work on / if they’re looking to partner with others}
  • Remind people that whatever is done has to be presented at the end of the 24 hrs
  • Make sure you work on something outside of what you would have done otherwise
    • Ex: this isn’t a food handout while you continue work on a task/story for the current sprint iteration in the agile process…
    • …but it could be work on a old, neglected bug or prototype
  • The dinner-ordering rules
  • You don’t have to stay overnight — in fact, if you insist on brushing your teeth and showering, we all benefit. but more power to you if you come early morning the next day to finish it up!
  • We’ll start at 10am on a Thursday and officially finish at 10am on a Friday (so as not to conflict with agile retrospectives and backlog groomings on 10am-12pm on Fridays), but presentations will happen over a free office-wide lunch at 12pm on Friday

During the event:

  • Work away on your ideas!
  • Ensure that food arrangements are made for lunch and dinner
  • Dinner ordering
    • Get people to commit by 4pm on whether they will order dinner
    • First person to commit gets to choose where we order from
    • Ordering happens at 6pm
    • Food arrives at 7pm

(The dinner ordering rules are to get people to commit one way or another to staying late and working. It prevents ordering too much food, including for people who normally leave at 6pm anyways, or if people change their mind and don’t want to stay after all.)

Presentations:

  • Tell everyone to keep their presentations to 2 mins
    • Even if the crowd is small, it is good practice for when the crowd is big and time is tight
    • Use a timer with a loud alarm for each group so that they stop promptly
    • Give at 30 second warning
    • Announce the order in which groups present in batches of 3 or 4 after every 1 or 2 presentations so that groups can get their demos ready and the switching happens quickly
    • Estimate about 30 seconds for groups to switch between presenters (includes switching the input cable to the projector, etc.)

That’s it!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s