DEV Community

Sumit Mishra
Sumit Mishra

Posted on

Why My First Hackathon Went Bad, and What I Learned From It

My first hackathon went badly. Looking back, the biggest lessons were not just about coding. They were about working as a team, setting clear goals, understanding GitHub, and deciding what we could realistically build within the available time.

It is easy to focus on the technical side of a hackathon: the framework, the features, and the final demo. But a team also needs a process. In my first hackathon, I did not give that process enough attention.

Here is what I got wrong and how I think about it now.

1. I did not set clear goals

My first mistake in team building was not setting clear goals.

Having people on a team does not automatically mean everyone is working toward the same outcome. Before dividing the work, we need a shared understanding of what we are trying to achieve.

That means answering a few basic questions:

  • What problem are we solving?
  • Who are we solving it for?
  • What must work by the end of the hackathon?
  • What is outside our scope?
  • Who owns each part of the work?

Without those answers, even assigning tasks can be confusing. Someone might focus on adding features while someone else focuses on getting the core flow to work. Both can be working hard, but toward different versions of the project.

My lesson was simple: team building is not only about finding people with useful skills. It is also about giving those people a clear direction.

2. I did not understand GitHub well enough for teamwork

Another mistake was not knowing GitHub deeply enough, especially pull requests.

I did not properly understand how to create PRs, review them, or close them. That was a gap in my preparation for collaborative development.

Working on my own code and contributing to a shared codebase are different skills. In a team, writing a change is only part of the job. Other people also need to understand it, review it, and safely bring it into the project.

Before another hackathon, I would make sure I could follow a basic workflow:

  1. Create a branch for a specific task.
  2. Make focused changes and commit them.
  3. Open a PR explaining what changed and how to test it.
  4. Review teammates’ PRs and respond to feedback.
  5. Merge an approved PR, or close it without merging if the change is no longer needed.

One important distinction is that closing a PR is not the same as merging it. Merging brings the changes into the target branch. Closing without merging does not.

I do not need to know every advanced Git feature to participate in a hackathon. But I do need to understand the collaboration workflow before the pressure starts.

3. There were no internal deadlines

We had the hackathon’s final deadline, but no internal deadlines.

Those are not the same thing.

The final deadline tells us when to submit. Internal deadlines tell us when to stop discussing, when to start building, and when to leave room for testing.

The ideation process especially needs a deadline. Exploring ideas is useful, but it cannot continue indefinitely. At some point, the team has to choose a direction and commit to it.

For my next hackathon, I would set checkpoints for:

  • Ideation: choose the problem and agree on the core idea.
  • Scope: decide what belongs in the MVP.
  • Implementation: get the essential flow working.
  • Integration and testing: connect the pieces and fix critical problems.
  • Demo preparation: prepare a clear explanation and test the demonstration.

The goal is not to make a rigid schedule that never changes. It is to stop every stage from consuming the time needed by the next one.

4. I needed to separate the base idea, broad idea, and MVP

A distinction I now find useful is between the base idea, the broad idea, and the MVP.

These are the terms I use to separate the core problem from the bigger vision and the version I can actually build.

The base idea

The base idea is the simplest statement of the problem and the value of the solution.

For example:

Help students find study partners.

It gives the team a foundation. Before discussing features, we should be able to explain that foundation clearly.

The broad idea

The broad idea is the larger vision.

For the same example, that could include profiles, subject-based matching, chat, scheduling, recommendations, and study groups.

Those features might be useful eventually. But the broad idea is not automatically the hackathon scope.

The MVP

The MVP, or minimum viable product, is the smallest working version that delivers the core value.

In this example, it might let a student select a subject and find another student interested in studying it. Chat and recommendations could wait.

The base idea explains the value. The broad idea explores the possibilities. The MVP defines what we will build now.

Nowadays, I focus more on making an MVP instead of treating the entire vision as the first deliverable.

What I would do differently

Before writing code, I would align the team on one goal, agree on the GitHub workflow, put a deadline on ideation, and define an MVP with clear task ownership.

My first hackathon went badly, but it gave me useful lessons about how to approach the next one.

The biggest lesson was this: a hackathon is not just a test of how quickly I can code. It is also a test of how clearly we can decide, collaborate, and finish something together.

Top comments (0)