I wouldn't call myself a 'coder', but I loved my first hackathon. Coming into the hack (#hackthevisual), I knew I wouldn't be doing a lot of coding. I had only just started learning Ruby and Rails 2 months ago and hadn't gone into too much JavaScript. I ended up doing some CSS and logo design. Our product turned out great.
Hackathons are never about one person, a good hack involves many skilled people (yes, you should have at least one programmer or it's just a powerpoint). You don't have to be coder to do well in a hackathon.
DON'T BE SCARED IF YOU CAN'T CODE
YOU DON'T NEED A TEAM BEFORE IT STARTS
Be friendly and open-minded about pitches and you will be in good hands. Bring whatever skills are necessary and fill in the gaps that the team needs you. Since my team was strong in programming, I started sketching logos and putting together the visuals of our app. I essentially did whatever my team needed me to do. That's what hacking is all about.
PREPARATION:
Be flexible.
I cannot emphasize this enough. Have a beer with everyone and get to know the groups (other blogs say this may tire you out, but it's better to bond with your team, so it's worth it). Figure out what ideas everyone has, share yours, and ultimately go with the most difficult, yet feasible idea. Meaning, go with a challenge, but don't try to learn something completely new. If someone know's how to do something that the rest of the team doesn't know how to do, that's good. The more of that the better the team. Being flexible is the most important aspect of a hackathon, so get ready to pivot your idea and learn from others.
Be ready.
Some teams stay overnight and some go home early. So, bring some spare clothes, deodorant, and a toothbrush. Ours was a mix of both and we were very understanding. Don't get mad at anyone. Our team only rarely got angry. Mostly, we only got upset with ourselves when our code didn't work.
Eat a lot and hydrate.
Do not be tempted to push meals back. Always stop coding/working and eat food! Drink a lot of water while you're at it.
I found that once I got some food. My productivity increased threefold.
Make it fun and take breaks.
Don't be afraid to have casual conversation mid-code. It's a lot of work you're doing and just kicking back can make the work flow a whole lot better and you might get some help from teammates.
Scrum or not to Scrum?
Just make a Do, Doing, Done sections for workflow on Trello. Don't shove it down other people's throats. You probably be more productive without it, but it's important to establish what type of work you'll be doing for the weekend.
Here's a list of productivity tools:
Slack
GitHub
Trello
Google Drive, Slides, Sheets
Some Technicalities:
Make a web app and then convert to mobile (Use Cordova or PhoneGap). Don't code a Java Android or Swift iPhone app (it takes too long and it's not flexible).
NodeJS and Grunt are great for hacking quickly.
Firebase is great if you have numerous databases and processes running in the backend
Amazon Services is your best bet for storage.
Devices needed (in your team):
Android
iPhone
USB Cords (for devices)
Ethernet cords
Some other cool things that you come up with
Your Laptop
Don't worry if you don't understand the tech specs above. You'll learn what they are on your first hack, just go!
My teammates were far better coders than me and I learned a lot. They were very welcoming and helped me learn the development workflow process. We won because we challenged ourselves and took big risks and I thank my teammates (Dario, Bryan, Sam, Anthony) for inviting me to be a part of the process.
Also our app is pretty cool, see it below: