My Hackathon Experience

What I learned from my recent week-long Hackathon

Hackathons are a great way to contribute to your community through your talents, adding a project to your portfolio in a week, gain experience collaborating with a team, and have fun. They usually involve a group of engineers that must create an app or website within a certain timeframe with a theme in mind. Mostly voluntarily, of course. Our Hackathon’s theme was, “Nurturing Differences”.

Since we could not start coding for the Hackathon until that Monday and we still wanted to get a head start, our group met that weekend to discuss ideas for our app. There was a total of 6 of us for this project, so getting a more organized structure for ideas and implementation was necessary. We made a google doc to brainstorm all of our ideas, what was viable, and what our schedules would be like in the upcoming week.

Our Shared Google Doc

Figuring out a time where we could mostly all meet up and work on this together was crucial because nobody was MAKING us work on this and we all had other things going on. We concluded that from 9–12 and from 2–5 was the best time to get together according to our availability.

Before deciding on an app idea, it was important to gauge if the idea was realistic. In the past, most of us encountered problems with finding appropriate API’s for displaying pertinent information so finding one that works was a big indicator on which idea we would choose.

After picking our app idea, we implemented a Trello board to track the progress of our app. This is a good management tool to keep us all on the same page of who was working on which features and what stage these features are in.

Trello Board from trello.com

After establishing our shared tools, the following week of coding for the project went, for the most part, smoothly. We each had our dedicated responsibilities but for fun’s sake, decided and approved what we each got to work on. We helped one another out and were available for questions, screen shares, and concerns. We split up into teams for awhile; some of us working on the backend while others on the front. This made us even more efficient and utilized our time and resources more efficiently.

Collaborating on Git and GitHub was a challenged we faced. Initially, most of us had not worked on a development team quite as big. Pulling down from master with conflicts seemed to happen a lot as we branched out more as we started changing up our code and and files/file paths. Sometimes, we needed one branch to be pushed up before working on another. We ended up learning how to merge conflicts inside of our code after pulling from down from master, which worked well for us.

In the end, I was proud of the application we had built. Our ‘map’ feature we implemented was quite impressive. One of us seemed to me more comfortable in speaking in front of others and took the lead during the presentation. This was definitely a learning experience for all of us and I have more respect now for the organization required in a team of developers.