How to organize a Mage Hackathon - FireGento style
What is a hackathon
On first view a hackathon is a meetup of developers, but if you ask me, it is so much more: It is all about people - not only developers! Develoeprs, designer, tester, people who are interessted in a certain topic meet, discuss a topic and hack solutions for common and specific problems. Hack programms or extensions, on paper or into blog article or documentation.
How it works - plain theory
In theory a hackathon (as we made it) works this way:
Zeroth day (friday)
People meet on friday evening for a get together in some pub or bar, so we get known to each other. A beer at hand - or whatever makes you happy.
First day (saturday)
The official event starts on saturday morning, usual at 9am in the morning, collection ideas
After all people added their ideas to the list, the ideas are presented. Everyone should engage here. Everyone has common problems, which can be automated or solved.
Then voting follows. Depending on how much people are attending, it differs everytime a little bit, but most of the time we vote with two votes (different colors) to get a sense for it, which projects find enough follower.
When everyone got his chance to vote, every project needs a first member, someone the group meets at.
The work starts, the groups finding a room or corner and normally start discussion:
- What is the problem?
- Which part of the problem should be solved?
- What is the name of the extension? (very important!)
Two important things here: Your extension can only be used (at least in Germany) if you add a LICENSE file and you make the usage easier for everyone if you have at least a few lines of documentations (README.md), what your extension should do, what is already implemented and who is responsible. Simon Sprankel built a sample readme to help you there.
Around twelve lunch is served.
After the lunch the work continues.
In the evening at about 6pm, all meet again and give a short overview about the current status of the projects. We tell the people what works, and especially what is not working. What are the problems? You have a room full of magento experts, USE THEM - ask questions!
Second day (sunday)
On sunday we start again in the morning at 9am. We code til the lunch and after the lunch. After the lunch, we meet again for a closing session and presenting the project status.
The hackathon ends with saying good bye, because most of our attendees has a few hours on their home way.
Goal
The goal of the organizing is to organize and offer an environment to discuss, enjoy together, meeting people, learn, teach and code.
For me, five points are important:
- People
- Location
- Timetable
- Food
- Internet connection
People
The attendees should be open. Open for discussions and open to share ideas and code. Community members are the best in my opinion, because they already have the spirit. But growing the community is of course an important topic, therefore be welcoming to rookies.
For me although important is, that a hackathon is not only for developers. There are a lot things to do, which don't include coding:
- think abut features, design and user experience
- design (many of our extensions on github are technically great, but not beautiful)
- test
- write documentation
- enjoy the time and the food
- meet people
Location
The location should have enough space for the different groups, so they can discuss without disturbing the others. Tables and desks are important and chairs, couches or armchairs are needed.
Most of our locations offer drinks, like water, Club Mate, cola, lemonade and beer. But to be honest, normally we don't drink a crate during the whole weekend (evenings excluded). If the venue doesn't offer drinks, just bring them.
A beamer should be there to present the projects.
I can recommend:
- youth hostels (Berlin 2013, Leipzig 2013)
- offices of companies (Munich 2012/2013, Oldenburg 2014)
- hackerspaces (Leipzig 2014)
all these venues are quite cheap which is the most important part but they are also welcoming.
Timetable
The timetable should be published as early as possible and easy to access, so everyone knows everytime, what happens when and where. We want everyone to be able to attend at the parties and the hackathon itself.
If the timetable is published, the teams can plan when to prepare for the presentations (although, I only know one team who really prepared something like a presentation, all others, just show code and what it does)
Food
Everyone needs to eat. I think it is important, to keep all people together, so give them all they need:
- delicios food
- vegan/halal/kosher/... food if needed
- dessert
- fruits and vegetables
- sweets
- drinks (water!)
Internet connection and wifi
To programm and investigate, internet is a basic thing. There should be internet and wifi. Everyone should have access to it and the connection should be fast enough.
On the Fodcamp (a hackathon before the first hackathon, long time ago) we had 1MBit for eight people, which is enough - if you close down Skype, Dropbox and everything else and if you are patient.
So I recommend to have ~0.5-1MBit/person.
Running
Beside of this... in the magento community is running a thing. Often we start in the morning with a more or less short round (3-8km) with a more or less small group. I can recommend this. It is a good start in the morning.