4 Tips for your first hackathon

Stacey McKnight
Geek Culture
Published in
5 min readJun 15, 2021

--

Login page created by the team during my first hackathon

After changing careers from marketing to software engineering, I didn’t anticipate that my experience writing press releases would come in handy as a web developer. But it did this weekend as my hackathon teammates and I kicked off a 3-day coding challenge by writing a mock press release announcing the app we planned to build.

No one on our team had participated in a hackathon before, so as we got started we didn’t really know what to expect beyond a weekend of fast-paced teamwork. I certainly didn’t expect press releases. (We’ll get to the purpose of the press release in a bit.)

If you’re thinking about signing up for a hackathon or are getting ready for your first one, I hope the takeaways from my experience can help you know what to expect and how to get the most out of a high-energy weekend of collaboration and coding.

Setting the stage

Before we jump into the tips, let me provide you with the context. The hackathon I participated in was a remote event geared toward current and recent graduates of Flatiron School’s data science, cybersecurity, and software engineering programs. Teams were encouraged to have 5–6 members and were tasked with creating an application around the theme of working together.

Leading up to the event, I worked on a pitch with a fellow software engineering grad so we could start recruiting more teammates. With the recent shift toward more remote work, we planned to build an app to help dispersed team members get to know each other on a more personal level with the end goal of improving collaboration. We connected with four other developers to form a team and hopped on a Zoom call as the hackathon started to introduce ourselves and outline what we planned to create together. Now for the tips.

1: Spend time talking about team logistics, not just product details

As we introduced ourselves, the need to coordinate team logistics became clear. We were spread over multiple time zones, with one team member located in Hungary and the rest scattered throughout the US.

Whether your team will be remote or all in the same room, talking through logistics in addition to product goals upfront will save you time. It can be helpful to write down questions in advance to guide the discussion, for example:

Communication and roles

  • What communication platforms will we use? (Zoom, Slack, Discord, etc.)
  • How often will we meet as a group and when?
  • What tools will we use for task management? (Asana, Trello, etc.)
  • Who will be responsible for which tasks?
  • Will we mostly work independently, in pairs, sub-teams, etc.?

Quick tip: If working remotely, have a backup way to contact your team members. The Flatiron event was hosted on Discord, but service went down for some users the first day. Thankfully Slack and a team Zoom space provided a way to keep in touch until service was back.

Technology

  • What tech stack will we use?
  • If using a framework like React, will we use hooks or classes? NPM or Yarn?
  • Will we use custom CSS/Sass styling or a system like MaterialUI?
  • Who will set up the shared repos?
  • Who will make decisions about merging in pull requests?

Product details

Remember that press release from earlier? The hackathon organizers recommended writing one the first day because the process requires thinking through core product questions like:

  • What problem will our app address?
  • How will our app provide a solution and what features are involved?
  • Who are our target users and how will they benefit from using the app?

Talking through these questions helped us solidify our product goal and agree on a minimum viable product (MVP), which served as a guide for prioritizing tasks. Our team separated what was required for a prototype vs what was a stretch goal then broke down the required features into discrete tasks and assigned them to team members using Asana.

2: Anticipate bugs and troubleshooting

Working with new people on a new project means you’ll likely run into errors and other tech-related challenges. Our frontend team worked with React and often ran into merge conflicts related to the package.lock.json file when pulling down the most recent version of the repo from GitHub.

Quick tip: If you run into this issue yourself, the NPM docs state that from version 5.7.0 forward, you can resolve such conflicts by manually fixing them in the package.json file and then running npm install --package-lock-only.

Keeping communication channels open made it easy to help each other out when we ran into issues. We often teamed up to troubleshoot via screen sharing, but at times it was more helpful for one person to tackle a bug so the team could keep making progress on other parts of the app.

3: Manage your time and build in breaks

Meal breaks

The hackathon felt a bit like a time warp as our team communicated and coded from early mornings into late nights. Once you get caught up in the whirlwind of activity, it’s easy to lose track of time, so consider building in breaks (especially meal breaks) as a team.

Presentation prep

At the end of your hackathon, you’ll likely present your prototype to other attendees and event coordinators. As you consider what your team can realistically build during the event, make sure to allot time for preparing your presentation and doing at least one practice run together.

Progress check-ins

Tasks can take longer or shorter than expected. Keeping each other in the loop on progress allows the team to more effectively identify next steps since priorities can shift based on the time remaining.

4: Know your goals for the event

While the main goal of a hackathon is to quickly prototype a project, thinking through additional goals you have for participating can help guide your decisions and interactions. If it’s your first hackathon or experience coding with a new group of people, one of your primary goals might be as simple as strengthening your team collaboration skills.

Potential goals could include:

  • Building positive new connections in the field
  • Learning a new piece of technology
  • Practicing development in a fast-paced environment
  • Adding to your resume
  • Gaining a better understanding of how other people approach problem-solving

To keep my own goals in mind, I wrote down my top three on a notecard to keep on my desk as a reminder of how I wanted to approach the weekend.

Keep collaborating

My first hackathon was an incredibly fun experience of teamwork and learning, and I would recommend an event like this to anyone interested in developing your creativity and collaboration skills. I hope these takeaways help you and your team as you head into your own hackathon.

In the spirit of collaboration, feel free to share your own hackathon tips in the comments! If you have any questions, reach out here or connect with me on LinkedIn.

--

--

Stacey McKnight
Geek Culture

Software engineer interested in the intersection of tech, design+art, and social innovation