They came, they saw, and they... may not have conquered. Hackathons are hard.
With only 48 hours to build something that works, it’s crucial that everything goes smoothly. To help you out, we reached out to the veterans of PennApps Mobile, our last hackathon, for what they learned and advice on how to approach the weekend this time around. Here’s what they told us.
1. Choose your language wisely
Hack in an environment and language you are familiar with. True, you could learn something new; but it will take longer, be more frustrating, and your end result will not be as impressive as it could have been. You will still learn a lot if you work with something you already know. Getting better at Java or Python is just as good as learning Ruby from scratch
Part of the point of hackathons is to find time to learn new things, including new languages. Winning is an admirable goal, but so is learning.
While learning a new language is doable, trying to create an impressive hack in 48 hours in a language you’ve never used before is no small feat even for experienced developers. So you’re going to have to pick - are you at PennApps to win, or are you at PennApps to learn something drastically new?
Ultimately, both choices are good ones, but if you’re going to compete, we recommend sticking to a native language for three reasons:
- Learning a new language takes time. Your code will be less clean, less efficient, and will take longer to write. On top of that, the task of learning a new language falls under the category of unknown unknowns, which greatly reduces the chance that you’ll have something ready to demo within 48 hours. While you should be pushing your horizon, you also need to be careful to keep your scope in check.
- PennApps is best enjoyed if you get a chance to play with the cool APIs that our sponsors have in store. While using their APIs often isn’t particularly difficult (especially considering we often have developer evangelists on-site), using a new language multiples the difficulty tremendously since now you have to code in two foreign languages at once.
- Finally, the real value of a hackathon is hacking in a friendly environment where more experienced programmers can help you out. That said, even though you won’t be learning a completely new language, you’ll still get a lot of value from those around you if they end up showing you things that you would have a hard time picking up on your own.
On the other hand, if you lack confidence in your competitive skills (been there, no worries), definitely check out these tips on how to make the best use of your time.
2. Have a killer demo
It's all about the demo, make sure you put in the proper amount of time to prepare a demo and make sure everything you demo is functional!
Besides making sure your hack works, the next most important is making sure your demo is impressive. Perception is reality; demoing is like most other forms of public-speaking about which plenty has been written already. Still, here are a few points specifically for tech demos that are worth knowing.
- Keep it short. Unless you really know how to captivate your audience, shorter is always better than longer. That said, if for whatever reason you really do have a lot to show off, make sure you keep your presentation under the time limit. Getting kicked off stage is never a good way to end a presentation.
- Show, don’t tell. At the end of the weekend, people just want to see what you built and why it’s cool, not see your code, or hear about the architectural decisions you made.
- Be interactive, visually interesting, or technically stunning. Remember, you’re not the only team demoing, and people get bored quick. If you can get people engaged though, you’ve got a huge leg up on your competitors.
Finally, I’m just going to refer you to John Britton’s tips on demoing. If you missed him last time, you missed out. Britton puts magic back into technology.
3. Work with people you’re comfortable with
Find a team, especially if you're on the edge about participating; you're way more productive and motivated that way.
Find your teammates first, then think of an idea. You don't want to work with someone you are not comfortable with from the get-go, because this is only a weekend long.
Finally, the most important point: A good team can be the difference between a good weekend and a bad one.
Good teams are focused, organized, and use everyone to their full potential. While it’s hard to give specific advice on how to find a good team, especially if you’re an incoming freshman, here are some tips to keep in mind.
- Hit up the tech-talks before the weekend starts. This is a good place to meet other developers and pick up practical skills that you’ll be expected to have. Specifically, if you’re a newbie when it comes to web development, we’ve got a specific track just to get you up to speed with the rest of us, so definitely check them out. (Seriously. Don’t miss out.)
- Getting stuck on a team where you can’t help at all is no fun, so make sure you find a way to contribute before joining a team. Ask teams what languages and technology their using and what kind of developers they’re looking for, and if there’s a match, join forces!
- That said, Don’t be afraid to work with people you haven’t met before. A hackathon is a great opportunity to meet new people.
All of this said, we’ve been consistently impressed with the caliber of developers that show up, so even if you’ve found a team you like, definitely take the opportunity to meet people and make connections. (The hacker community is extraordinarily friendly, so really, don’t hold back on reaching out.)
Choose your language wisely, have a killer demo, and find a team you can complement. Just hit those points and you’re sure to have something pretty cool with a decent shot at the prize.