DBC Hackathon 2014

Hack-a-what?

So I had the opportunity to participate in my very first hackathon yesterday...and it was awesome. For those of you who have no idea what a hackathon is, it's basically a competition where developers come together to compete for prizes. There are many types of hackathons, each with varying intensities. DevBootCamp's hackathon was of a smaller scale than most but was nonetheless very exciting. I'll go over a brief walkthrough of the day.

09:00 A.M.

Tommy and I arrive at DevBootCamp in San Francisco. Noah's bagels and coffee are available to all participants. I go over to grab a bite. People start streaming in to the meeting room. ~40 people arrive.

10:00 A.M.

DBC Hackathon begins. Rules are explained: people with an idea on what they want to create are given 3 minutes to pitch their idea of the room. At the end of the pitches, developers gather around the idea that sounds most interesting to work on, and the development teams are formed. Whichever team that comes up with the best MVP(minimum viable product) at the end of the hackathon wins. I feel compelled to join a iOS team that wants to create an iphone flashcard app to learn MVC and Swift.

10:45 A.M.

Development teams set up work stations all around DBC. My team of 6 gathers to discuss a plan of attack. We decide on learning the basics of Swift and Apple's IDE: XCode. Groups of 3 are created with one half learning the syntax and the other learning the view and view controllers for user interface. We decide on standups every hour.(A standup is when a team gathers to share information on what they learned and the next steps they should take)

12:30 P.M.

Meeting at a conference room to talk about Playgrounds(Apple's development tool for visualizing view and view controllers as you code.)

02:00 P.M.

Coding begins. I pair up with a team-member to figure out our app's landing page and how to manage transitions between different parts of our app(known as segues in iOS).

04:00 P.M.

Finished landing page and segues. Decide on stretch goal of creating a tabbed page for viewing all flashcards in a deck.

06:00 P.M.

Team that was designing the engine behind flipping a card and randomizing a flashcard has run into a problem. Creating a new flashcard on the new flashcard page does not update our flashcard deck.

07:00 P.M.

Troubleshooting our flashcard problem.

08:40 P.M.

Still troubleshooting. Anxiety starts to sink in. We will be presenting in less than an hour. Call over a developer with experience in Swift to help troubleshoot

09:20 P.M.

Fixed the problem. I add a loading image for our app.

09:30 P.M.

Presentations. Teams show off their mvp. Judges deliberate. We win a prize for creating our app! Winning team created asteroids in Javascript.

It was a very fun experience overall. I'd love to post a page that shows our mvp, but it hasn't been uploaded yet. I'll update this post with my team picture once I get a copy. On a side note, I joined Apple's Developer program to experiment with creating iOS apps as I have time. If you ever have a chance, definitely try going to a hackathon. I thought I wouldn't be able to contribute anything, but it turns out I did! And don't worry about hackathons being too stressful, ours was filled with free bagels, coffee, pizza, and booze(later on in the night as people were finishing their projects.)