These Are Not The Hackathons You're Looking For
Beware of the Hackathon which is not a Hackathon. Often when developers are recruited to attend a weekend Hackathon it is presented as a learning opportunity and a chance to network. I've attended many Hackathons and I have learned a lot and have met many great people. I have also seen people participate with the wrong idea of what a Hackathon is. Here's a clear example of a non-Hackathon.
First, it is not an opportunity to get a team of developers to do free work for you which allows you to take ownership of all IP created during the Hackathon. Second, you cannot control what is created during the Hackathon in order to meet your needs to develop a product for your company. If you are looking to attend a Hackathon with these ideas in mind I will tell you right now, you are not welcome at that Hackathon, or any Hackathon. If you try to exploit developers at a Hackathon it will quickly become apparent and these developers will talk and it will reflect badly on your reputation going forward. If you want to get some work done, by all means go to the Hackathon, participate on one of the teams and help build what the team chooses to build. While you are participating it is a great opportunity to scout for talent. After the event you will have new contacts you can reach to hire for contract work or even a full-time position. A Hackathon is an ideal event to do scouting. Where else will you find developers passionate about their work who are so eager to build something that they give up their whole weekend?
A Hackathon is about trying out ideas and seeing what works and what makes sense. It is also about experimentation and trying something you would not normally try with your day job. Sometimes this experimental work can become something you apply to your day job, but that is not the only goal. What you will certainly apply to your work going forward is the experience you get from participating on a team at a Hackathon.
What Should I Expect At A Hackathon?
You should go into a Hackathon excited to learn and meet people. There should be guidelines for the Hackathon which also should be vague enough that you can get creative with whatever you decide to build with your team. It may have a focus on mobile or commerce or perhaps even travel with prizes for teams which create something which meets the criteria in a specific category. By all means go for the prizes which may be cool hardware or even a lot of cash. Food, drinks and prizes will get lots of people to show up. Now take that opportunity to form a team and build something cool and ideally something you and your team will use once it is built. Do it for yourself and your community.
You can either pitch your own idea or join a team to work on any idea you find appealing. You should not be given a list of features for an app which you work on overnight with no sleep to then hand over all IP rights to someone else. That's not a Hackathon. That would be contract work and you should be paid for it. And if you do contract work on a rushed schedule you should be paid a premium for it. But make sure there is a clear divide between a fun Hackathon project and paid contract work. Make sure you know where the line is drawn as your going into it. There are times where this line can be blurred, and if it is, make sure everyone is clear about it going into it.
How Should I Work With My Team?
After multiple Hackathons I have worked in multiple ways. Perhaps the best way to work is to immediately make everything Open Source on GitHub with a new Organization. Then tell everyone about it so they can even join in remotely if they like. From there you can add everyone on the team with admin access and start creating repositories as necessary to get the work done. Setting a permissive license on all of the code like the MIT license will make expectations and IP rights clear. You can still eventually make a company of it, but while you are at the Hackathon it should be clear that you are working as a team. Keep in mind that companies like Automattic (WordPress) and Netflix are companies which run on software they have released as Open Source. Releasing your work during the Hackathon does not mean it cannot become a big successful business.
If you get to a Hackathon and someone pitches an existing product and a new feature for that product, stay away. You are not going to get any credit or equity. This person is looking for free work at the Hackathon because they are not willing to pay developers to do the work. Why would they give you any compensation? Instead, choose to work on something that is seriously stupid. The Design Lead at Spotify makes a great case for why side projects, such as projects done at Hackathons, should be stupid.
Can I Do A Non-Hackathon?
There are events where ideas are formed and pitched but nothing is built and people do not work all weekend toward preparing something to present. If it is about generating ideas and not writing any code then simply do not call it a Hackathon. Come up with another name. And if you need to put a lot of legal verbiage all over the event description and claim ownership of all IP creating during the event then maybe you should consider not doing the event. Or maybe make it a private event and invite specific people to participate with the terms clearly defined. If it is an open event the teams should be free to take their ideas and do what they like with them without any limitation after the event. If you are not paying them for the ideas and their work then you cannot claim any ownership over the IP.
What About Work Hackathons?
There are frequent Hackathons at companies like Facebook. The "like" feature was created during one of these Hackathons. This is where the line between a fun, personal project without pay crosses the line with real work. If you understand it going into it then that is alright. Be sure you know what you are getting into from the start. The great benefit of these work Hackathons is you can try things you normally would not get to try, use resources you otherwise could not access and work with people on other work teams you don't work with normally. You can accelerate your learning and get to know several people during these types of Hackathons. And your work may even become integrated into the company's products. You could even create a whole new product and your team could be asked to continue with that effort, but don't go into it with grandiose expectations. Just have fun and build something you will enjoy.
Still there are companies who will ask you to work over the weekend and call it a Hackathon. Here's a funny example. A Hackathon is something that should be voluntary and you should be not kill yourself to complete the project. I never work on projects overnight at a Hackathon anymore. That is no way to create something worthwhile or something you will want to continue working on later.
It may help to identify what you want to learn and who you'd like to meet. I attended a Hackathon a couple of months ago and wanted to build something with a specific technology and wanted to meet a few people with specific skills. I did just that and and we all had a good time and learned a lot. I also kept my eye on the developers on my team and the other teams. During the Hackathon I was scouting for new hires and found an Android developer with impressive activity on GitHub. Since then I have hired him and a classmate he recommended. The Hackathon was a great experience and look forward to attending the next one.
(Please follow this blog on Tumblr)