I recently participated in a few hackathons and hack nights this year. They are a great experience for developing a lot of interesting ideas in a short amount of times. It's extremely rewarding to get a product out the door over a weekend, or even a night.
Some companies have made hackathons feel extremely exploitative. They'll stuff a bunch of developers in a room, with free pizza and some prizes and they get to keep the results of your work.
The next time you see an interesting event to participate in, please consider these in mind.
Find a hackathon that put you first
Choose the ones that support your rights. We work hard for our projects, and they belong to us. A lot of issues arise due to some of these problems
Talk with your Local meetups and user groups for recommendations
Each of the ones I chose to participate had the following criteria:
- The participant keeps all rights to the code they produce
- The event has been vetted out by credible people with a good track record of support.
Finding a credible event can be difficult. Talk with your Local meetups and user groups for recommendations. In Orlando, we have a few tech advocates that go out of their way to check on these.
Once you find a decent hackathon that would benefit you, it's time to prepare yourself!
Have a goal in mind
Having achievable expectations allows us to feel successful at these events.
Fellow hackathon team member Mick Musak recommended to set my expectations at the start the Hack the Arena event.
I chose a goal of just completing an app, and learned a bit more about how Web Sockets worked in Node.js.
I brought my friend Timothy Findling, who is very strong at a data-oriented project. He had very limited experience with modern Javascript and web apps. His goal was to receive free swag.
Keeps your mind grounded
At the Hack the Arena event, there were multiple groups that had similar ideas. Our idea of a digital light scheme was done on a hardware level, and I felt eclipsed. I messed up on the presentation, and felt really embarrassed.
Seeing that I was upset, Team members, Mick and Tim, told me their goals were fulfilled. They were proud to participate, and was happy to have the project on their githubs.
By setting the expectation, they were satisfied.
Here's a compilation list of my goals at the past hackathons
- Learn React
- Learn React Native
- Build a small fun game that I would play
- Create an Android App
- Don't freak out when presenting the idea
- Get a T-Shirt
Use your B-tier ideas
If you have concerns about being exploited for your brilliance and hard work, I have a great idea, well, a mediocre idea.
Save the best ideas for yourself, and use one of the throwaway ideas.
You're a person who can come up with a bunch of ideas, and they're cheap to think up. It's the implementation that takes effort.
Leave enough for the imagination
Some may disagree with this idea, and that's okay.
Use the Throwaway Jokes
I use my time at Hackathons to learn new things, or build a slightly interesting idea. This reduces the amount of personal risk to my ego when my awesome idea gets shot down due to poor execution.
This is where I pull out a list of joke ideas. In fact, a few local winners of hackathons have won with an X for Y product clone. These ideas are great for learning new tech.
Build for your audience
It's really easy to try to do everything in a project for the hackathon. When we plan on a regular project, we try to get all the different features needed for the idea to work. On a time constraint, a lot of features are unnecessary.
Presentation Oriented Design
Many of the projects available relies on having the 3-5 minutes to present your project. Spend a fair amount of time designing what the screens would look like, and the basic flow of the idea.
This allows us to skip certain 'crucial' elements of an application, like authentication, or server communications.
Time is the ultimate enemy
Plan on creating the smallest MVP you can imagine, then make it smaller. Depending on the time of the hackathon, a lot of items are unnecessary.
Reduce the scope just enough to get your point across
OAuth2 Social Media Authentication for an instagram clone, don't need it.
An entire backend server to process data, you might not need it.
On projects where I'm learning something completely fresh, or a lot of members with little experience, I want something super small and simple.
You'll want to reduce the scope just enough to get your point across.
Keep your heart light
Tensions get high for competitors, trying to push out an idea as soon as possible. Remember to laugh, and believe that people are doing their best.