Two kinds of hackathon
Tags: hackathon
Published: 2019-08-26 03:14:59

After finishing the [Makers](https://makers.tech) bootcamp course, I've been jobhunting. While jobhunting can feel like a full-time job sometimes, I do make time for other things: namely going to meetups and participating in _hackathons_.

In this post, I'd like to share with you my experiences. Broadly speaking, hackathons tend to be either [for charity](#charitable-hackathons) (i.e. non-competitive), or they can be [competitive](#competitive-hackathons). I've done one of each so I want to take a look at their similarities and differences.

## Why hackathons?

- Apply what you know to _real_ projects
- An antidote to impostor syndrome
- Get introduced to new skills and technologies
- Networking, meeting like-minded people and making friends
- Discover job opportunities
- Something interesting to talk about at job interviews
- It's fun!

## What are hackathons?

> _Hackathon_ (noun)
A portmanteau of the words _hack_ and _marathon_. An event where people come together and form teams to create real solutions to real problems.

I tend to think of hackathons as intense 1-day or 2-day events at a physical venue. These events might also allow for some to participate remotely, but mainly you attend in person.

There is usually a theme, around which will be defined possible problems to solve. Hackathon projects can be about creating something new, or they might be about extending something that already exists.

From Makers, I've internalized ideas like agile, scrum, clean code, and TDD. Makers is all about TDD and robust, sustainable processes. So I did kind of instinctively try to apply these principles of sustainable software engineering. Except here's the thing, hackathons are not your usual software development situation.

My experience of hackathons is that they are much more focussed on prototyping a MVP or proof-of-concept (or proof-of-value). As far as I could tell, no one was using TDD. However, perhaps this is understandable given how little time you've got. Granted, two hackathons is hardly a statistically significant sample size, so maybe you'll have a different experience. 

The definition above is how I would personally define a hackathon. Code jams are similar but differ in terms of venue, duration and mode of participation. That said, there can be some overlap between hackathons and jams.

If you would like to know more about code jams, I cover them briefly [below](#bonus-code-jams).

### Hackathon Tips

- **Just relax!**
When you turn up at your first hackathon, you might feel like I did and be unsure about what kind of contribution you'll be able to make. What I did was talk to people and think about the available projects, and think about where I can add the most value.

- **Have a web presence**
Your project should have a some kind of page or site so everyone can find out more about your project. If the project isn't a website or web app you can deploy, you can do what I did and set up a [GitHub Pages](https://pages.github.com/) (or similar) from your repository. It's quick and easy to set up, and will make it easier for other people to share or refer to it - e.g. our [_Spotlight on asylum claims_](https://benknight135.github.io/wdd-asylum-claims/) project.

- **Ask questions**
Don't be afraid to ask questions, just as if you were working on a project in your day-job and you needed to clarify something.

- **Prepare your presentation**
I found this was the most difficult part. Especially if you are only allowed 5 minutes for the presentation. Allow enough time to prepare!

- **Have fun**
The most important thing. Hackathons are intense even if you're not taking part in a competitive one, but remember to enjoy the experience!


### Charitable hackathons

These are the non-competitive kind of hackathon, usually done in aid of charity or a good cause. My first hackathon was of this type.

> [Women Driven Development](https://womendrivendev.org/):
_WDD brings gender minorities and leaders in tech together, to share knowledge, experiences and to create real connections, promoting sponsorship through hackathons, practical sessions and events._
>  
**Theme**: _\#TechItForward With Pride_
**Pre-hack**: 17 July 2019
**Hack Day**: 26 July 2019
**Venue**: Expedia Group

We worked on a data science project examining patterns/trends in the outcomes of asylum claims made on the basis of sexual orientation or gender identity. I had a data engineering role working on a Python web scraper, helping to define regular expressions.

I was glad I set up a project website on GitHub Pages, because it lets us showcase our project - and is something that is good for linking to, as in this [write-up](https://medium.com/@pjhakra90/lgbtq-in-tech-a-safe-space-ad5177c1d79d) by the organiser Mindy (of Expedia).

Mindy and Expedia are amazing: on hack day there was barista coffee available all day, the food was good, and they even booked us a room for a _post-hack_ session so our team could meet up again and do some more work on the project.

Three charities were represented at the hackathon but I chose the project proposed by another attendee because I felt I could contribute more value as one of four, than as one of seven or eight.

I think I prefer this kind of hackathon. Somehow it felt more relaxed.

### Competitive hackathons

And this was my second hackathon.

> [BTNG](https://www.btng.tech):
_BTNG is a non-profit organisation committed to accelerating innovation for the Nigerian Tech Space._
>  
**Theme**: _Curbing the Effect of Brain-Drain in Emerging Economies_
**Hackathon**: Saturday, 3rd August 2019 & Sunday, 4th August 2019
**Venue**: Microsoft Reactor, London

We called our project _FaaSTrac_ - think FaaS as in [Farming-as-a-Service](https://www.google.com/search?q=farming%20as%20a%20service), which I learned is actually a thing. The idea is to provide affordable access to farming equipment for subsistence and community farmers on a pay per use basis.

This was a chance for me to take up a frontend role. I produced an interactive HTML/CSS demo of our solution, based on a Bootstrap-based template our mentor had recommended to us.

With there being prizes on offer, there was a much greater turn out for this one. I think there were three times as many people at this hackathon than there were at the WDD one, 90:30. Competitive hackathons usually have corporate sponsors - as was the case for this one - or companies may run hackathons themselves.

Since there are potential prizes involved, the rules of this hackathon specified a maximum team size.

## Bonus: Code Jams

By this part of my post, you have some idea of what a hackathon is. If hackathons sound good to you, you may also like to take a look at **_code jams_**. Code jams usually run over a longer period of time, and are usually online rather than requiring attendance at a physical venue.

Solo entries may be more common due to the remote nature of the event. Indeed, one of Google's coding competitions - their [Code Jam](https://codingcompetitions.withgoogle.com/codejam) is a solo event.

Due to the greater time commitment, I haven't taken part in any jams recently as I don't think I'd be able to give it my best. Although, all those years ago when I was a university student, I did take part in [Microsoft's Imagine Cup](https://imaginecup.microsoft.com/) competitions - any school/college/university students reading this post might like to check it out.

The structure of the Imagine Cup competition could have changed since I took part in it but as I recall, your team has _months_ to create and submit your entry. And then if you make it to the National Finals (or even World Finals), you have to prepare and present your pitches - think [_Dragon's Den_](https://en.wikipedia.org/wiki/Dragons%27_Den_(British_TV_programme)).

I definitely want to do one of the [itch.io Game Jams](https://itch.io/jams). 

Down the line, I also plan to try [Google's coding competitions](https://codingcompetitions.withgoogle.com/), beginning with the easier(?) [Kick Start](https://codingcompetitions.withgoogle.com/kickstart).


## Finding hackathons

Here are some good places to look. Obviously if you're not based in London, search for your own location. 

- [Meetup: Hackathons and Jams UK](https://www.meetup.com/UK-Hackathons-and-Jams/)
- [Eventbrite: London, United Kingdom Hackathon Events](https://www.eventbrite.co.uk/d/united-kingdom--london/hackathon/)
- _Or search on your favourite search engine_

## Further reading

- [Hackathon 101 For participants](https://www.hackerearth.com/hackathon/info/participant/)
- [Guide to Hackathon – What, Why, How and Examples](https://www.cleverism.com/guide-to-hackathon/)

---

_Edit_: Just _refactoring_ my blog post. No change in content.