Why I Like and What I Learned from Hackathons?

My Hackathons Experience

While competition usually comes from outside, innovation stems from inside. And Hackathon is a great way to encourage innovation.

I am a Senior Front End Software Engineer in ADP. I have only been in ADP for a little more than one year but I have already attended three hackathons.

1. AVS Hackathon 2016 in Pasadena

The first one is AVS Hackathon 2016 in Pasadena. And we (team Caffeinergy) built an IoT solution (Bluetooth Low Energy Beacon with motion sensor) to monitor the coffee consumption in our building, thus providing a “scientific way” to track the overall energy level.

2. UX Hackday 2017

The second one is the UX Hackday 2017. We reimagined the user experience for AVS.

Me and our UX designer Brian

3. ADP {API} Hackathon 2017

The third one is the one we just had: ADP {API} Hackathon 2017. And what we have built is a platform called ALINE Awards.

ALINE Awards is a reward platform that employee can earn and redeem rewards by posting and participating tasks. It aims to alleviate the resource constraints faced by corporations as well as increase ALINE card adoptions. The cool thing about it it’s available on all platforms (browser, mobile and even Google Home).

The actual demo with Google Home:

And we have won the “Smart Use of API” awards.


Hackathon is Hard…

Man, I can tell you, doing a hackathon is hard, especially in a 2-day hackathon. We have been coding from 06:30am to 09:30pm. When we went home that night, we were still discussing on Flowdock trying figuring out problems.

Day 2 when I went back home, I have never slept so well. My wife told me I slept like a baby, even more “babier” than our 7 month baby.

“But Hackathon is also great!”

The following are the reasons why I like Hackathon.

Why do I like Hackathon?

1. Teamwork and Trust

Honestly, the night before the hackathon, I didn’t feel comfortable, because I have little idea of our tech stack. I didn’t know AWS Lambda, had very limited experience about Actions on Google, and only heard good things about Firebase, DynamoDB, Vue.js etc.

Then on the hackathon day we split the work: I’m responsible for Actions on Google, and my teammates will just figure out setting up AWS Lambda, creating DynamoDB, and building Vue.js single page application from scratch.

I can feel the teamwork and trust there, as I know I can count on them to get their part done and vice versa.

2. Focus

It’s amazing to see how much can be done in such short amount of time in a hackathon, and I think one important reason is: focus.

I guess most of the participant, if not all, have felt this “flow” concept in Psychology.

Put it in other words, we are in the “zone”.

It’s an interesting feeling and it promotes productivity and innovation. I have an app tracking my cell phone usage every day, and guess what, comparing to my average usage of >2 hour time, it’s only 5 minutes in one day!!

3. “Move fast and break things”

“Move fast and break things” used to be Facebook’s mantra. It means to build things fast, it might not be perfect, but the creation speed is the key.

And that’s exactly how we operate in a hackathon:

- Need a new database field for task category? Done.

- Need a sound effect for completing task? Done.

- Need a design mockup for posting new task feature? Done.

Moving fast makes sure we meet the strict deadline and get things done.

One thing note is, in such a high speed operation, we tend to not write tests. But I can give you my personal promise, we’ll never do this in production :)

4. Learn new things

In hackathon, we usually can use whatever the coolest technology we want. As a developer, I can tell you it’s very enjoyable to learn a new thing and put it in real work.

We learned a lot of AWS Lambda and serverless architecture (BTW the serverless framework is awesome), and I think it will be really useful for future work.

5. “Ship it”

On the night before, when we went home, everyone in our team is frustrating: “There is so many things to be done tomorrow!” But at the end, we finally built something and did a great demo.

It’s very fulfilling to see that we actually have built something, to see the idea have became reality, to see 0 to 1.

6. “Done is the engine of more.”

After the hackathon, I feel like I’m turned into the mode of “make things”, and “ship things”. I want to implement long time hanging side ideas, I want to ship code because it feels awesome!

And I think this is exactly why people saying “Done is the engine of more.” in the The Cult of Done Manifesto:

Best Justified Visual of the Cult of Done Manifesto by Joshua Rothhaus

What I Learned from Hackathon

So as a participant, how can I do better next time?

1. Do try new tech.

“The best way to learn is to do.” And Hackathon is a perfect chance to try new tech.

2. Do drink a lot of water

I know we keep drinking coffee to “fuel energy”, but do you know that fatigue can be a sign of dehydration?

Here is what I use:

64oz water bottle, good for the whole day.

3. Do take some pictures.

I know we’re busy hacking, but with pictures, it’s pretty interesting to look back.

Your code doesn’t show feeling, but your picture does.

Here is what I looked like at 2pm, after having some pizza.

4. Do spend time preparing your presentation.

At the end of the Hackathon, we know everything about the domain and there are probably a lot of assumptions made. But do not assume the judges or audience have the same insights. Do spend at least 30 minutes to 1 hour to prepare the presentation.


Thanks to Hackathon Organizers

Thanks to ADP for hosting these hackathons and special thanks to all the people for organizing such amazing hackathons. I know while we (the teams) are having fun in the “stage”, a lot of work have been done in the “back”.

What’s next?

When I finished typing this article, I looked the Google Home on my desk, and could not resist to ask: