Our First Internal Hackweek

dI6lK2Fno5ELast month we ran our first hackweek! We think it was a success and we want to share with you our experience. We also expect that before too long we will be able to share with you some of its outcomes. In this blog post we describe how our hackweek went. What is a hackweek“ It's a hackday that is week-long. Our hackweek took place pretty much right after we released the platform.genestack.org version of Genestack Platform, the free for academics instance of our genomics OS. We all worked super-hard to get the release out, and started to feel a bit burned out. So we thought a change of pace and approach would be fun. In general, software development at Genestack follows rapid, short iterations (3-4 weeks). We have a plan, an issue tracker, etc. -- the works. The main idea of a hackday or hackweek is to take a break from everyday work routine, and to have a bit of time to code freely, working on any idea one has non-stop without any distractions, no matter how crazy or outrageous the idea is. A bit like free writing. Here's how we organised the hackweek.


Rather than having all developers work individually, we split up into teams of 2-3 each. Most of us are hackers, and some of us are biologists, so it worked out well: some teams had a "biological" strong side, and some more of a "hacking" advantage. It all balanced out in the end. The week before the hackweek we gathered hackweek ideas. From the management, we set out some thoughts:

  • ideas should be ambitious but doable in the span of a week
  • aim for maximum impact and wow factor
  • discuss anything with anyone you want
  • you can change your mind and work on another idea
  • each team should work on a different thing

We created a shared Google Docs file, which was seeded with a couple initial ideas. Some ideas were described with one-liners, e.g., "Creator of assay groups" (an application to help group individual assays in an experiment into special subfolders, organised by metainfo attribute, e.g, "disease:treatment"). Some ideas got a paragraph, and some a full-page spec with pictures. This document remains a useful pool of ideas for us -- for future features and hackweeks. The day before the hackweek, we say down and planned some logistics. This is pretty important, if you want your hackweek to go well. We decided that the company will provide food and drinks for the week, made an approximate budget, discussed some ideas for where the food will come from and who will get it. It only took an hour but made things run smoothly later on.


Our hackweek started on a Monday morning. During the hackweek, we cancelled regular standup meetings (we normally have one every day, it takes about 10 minutes). People agreed to come in earlier and leave later than usual. Every day there were fresh fruit and pastries from a nearby bakery waiting. And everyone got down to work! MmUjMh9K2cI [caption]TxuKs4oYQ9o Vasiliy, Masha and Zhenya[/caption] DSC_0217 Everyone tended to work pretty tightly within their teams. It was somewhat competitive (there was a prize in the offing), but even so, the Javascript gurus and the platform core seniors would share their wisdom over tea and coffee, and on demand.


On the last day of the hackweek there was wine and beer tasting. And there was much rejoicing. Originally we meant for the hackweek to be five days long: from the dawn of Monday to the dusk of Friday. On Friday afternoon, though, as the beer and the wine flowed freely, we let hackweek slide into the hackweekend. The show-and-tell took place on Monday. Our team is split across two offices, Cambridge and St. Petersburg, so, presentations were done via Skype screen-sharing. Both offices gathered round one laptop each and listened. Each team, in turn, gave a live demo of their project. Every team wrote one (and some, a couple) Genestack application. They varied hugely: phylogeny visualisation from variation data, advanced search application, gene networks, and so forth. Picking a winner was a tough call.


The main prize is made of two parts: 1) your hackweek idea would become a production target, and 2) the team gets to go on a one-week work-action to the other Genestack office. The winner was chosen through a complex voting process. Actually, everyone had two votes, and the team with the greatest number of votes won. That's Vasily and Zhenya. When we release it, we'll let you know what it was.


Overall we all agreed it was a success, and we think we'll repeat it at some point in the future. Everyone was pretty impressed by how much can be accomplished in just a few days of concentrated work. Also, many people said that the productivity increased each day, and if only we had a few more days, that much more could have been accomplished. We had our doubts whether to open the hackweek ideas for discussion before the start of the event, worrying it might spoil the surprise or maybe even limit creativity. It seemed to work, though -- some even thought more discussion could have been useful. Prizes proved to be a big challenge. We are not sure that the main prize we went for was the best possible. Consolation prizes were given -- we produced Genestack hoodies and polos and everyone got one. Perhaps next time we'll think of something better! Genestack Hoodie Want one“ Join us -- we're always looking for great developers!