Thu Jan 07 2021

8 takeaways from my first hackathon

Read the 8 takeaways from my first ever hackathon to increase your chances of winning and having an awesome learning experience

It's been a little over a week since I took part in the first hackathon of my life and let me tell you, it was not an intimidating event as you would think. It was hosted completely online due to the current pandemic situation and was a really well-organised affair where the organisers provided enough information about the event and expectations. The hackathon’s end goal was to create a product through which job seekers with disabilities can upskill themselves to enter the IT industry and was definitely something I resonated with immediately as I know first hand how it was to be stuck in an industry you have no passion for and then finding a sense of belonging in working as a developer.

The name of the hackathon if you’re wondering was called the CodeAbility Hackathon and was organised by 10Clouds, a Polish software company with their HQ in Warsaw, Poznan (where I am) and Wroclaw. This event was co-partnered with MożeszITy, a foundation that helps train those with disabilities to receive training in IT-related areas and rightfully focused on creating a product to support this. Under this one overarching theme, the hackathon participants were presented with the option of creating a product to help find the right candidates, creating learning opportunities or the activation of employees with disabilities at the workplace upon a successful hire. I opted to create a product that would help find the right candidates as the cursory research I conducted on the labour market participation revealed that job seekers with disabilities were hesitant to apply for jobs due to

  1. Lack of confidence

  2. Lack of job offers

  3. Fear of rejection

  4. Fear of asking for special accommodation

So what was the idea?

In order to achieve the above, my initial idea was to create a website through which companies who are open to hiring job seekers with disabilities can connect with them. Sounds pretty forward and it is because this has been done before in the world and even in Poland (see Poltalento, Pracuje and sprawni-niepelnosprawni). But as we all know, everything can be improved upon and this is what I set out to do by scanning these websites for how they function, what they are doing well in and not so well in. The latter was important to me as thinking about them in conjunction with the reasons job seekers were hesitant to apply for jobs made me realise that my product needed to enforce more rules in information provision for the employers who are posting job vacancies.

Uuf, what do you mean by enforcing the provision of more information? 

Simple. Job seekers suffer from a lack of confidence, lack of job offers, fear of rejection and asking for special accommodation right? So what If our job portal asked the employers to be really straight forward about what disabilities they are ready to accommodate? What if we created a provision where the hiring manager has to make a little YouTube video explaining what the job is about, their expectations and maybe even a little tour of the accessibility features in the office? The provision of such information for those with disabilities I felt would really go a long way towards settling the aforementioned fears.

What did I end up creating?

Well to start with ‘I’ is a bad word here as I was partnered with 2 other developers who signed up as individuals as I did. Both Piotr and Przemysław were front end devs and were a great duo to work with as we were all familiar with React, which allowed us to start coding in Next JS (the front end) and Firebase Firestore (backend and auth provider) right off the bat. Piotr was also skilled at working with Figma which helped us create the wireframes and mock-ups of the product to begin coding (check it out on Figma). Piotr and Przemysław, you guys were and are awesome! <3

 As for the end product you can take a look here-

But Kisho, I just clicked on that link and what I saw was not a functional website at all..

Yep, you are correct, we did not manage to complete what we set out to do in the 48 hours and there were several reasons this happened. After spending a few days reflecting on what we as a team did right and wrong, I have narrowed down 8 things I learnt from this hackathon and could prove to be useful for you, if you came across this blog post before taking part in one.

1. Join as a group

I am very aware of how team dynamics can make or break a project and was a little worried about the participants I would be partnered with at first. What if a group could not build a good dynamic over the first few hours and the project ends up in shambles? 

In my case, these worries were unfounded as  Piotr and Przemysław turned out to be great teammates and we quickly bonded over the first few hours of meeting. This team spirit allowed all of us to be receptive to each other's ideas,   strategize, design and trust the expertise within the team. But I am well aware that if my team mates were not a great fit as they turned out to be, the 48 hour hackathon would have been rather difficult. 

PS- if you are forming a team, enlist a team with different but complementary skills. This is something I realised when I saw how good Piotr was with Figma and really helped to speed the design of the website. 

2. Forget perfectionism

After spending 2 frustrating hours trying to sort an issue with dynamic routing in Next JS, I realised that the time constraints I was under, needed me to step away from code reusability that is integral when working with React and just create several pages instead. This is something I would usually never do as I am a stickler for finding the easiest and most DRY code to complete a functionality, but hey, you gotta do what you gotta do. 

 3. Look for the easiest solutions

We as a team agreed to use Styled Components for styling before we started coding in order to increase the code's accessibility. This in hindsight was not the best option as the judges were not looking into the code or testing its accessibility. If I could do this again, I would use a CSS framework such as Bootstrap as it makes things such as creating navbars, cards and website responsiveness much faster than if we were using Styled Components.

 Another example of when this was apparent was how we were trying to create a functionality that would allow for the toggling of font size and contrast increments in order to help job seekers with disabilities have a better UX. Our intention was to create this from scratch, and we did spend quite a bit of time to get this working with React Context. Time, however, was not on our side and we did not manage to complete this. Now imagine my surprise when I saw that the team that won had achieved this functionality flawlessly, thanks to a free trial of an enterprise plugin that helped to make the website more accessible. Those guys had really done their research, exercised it and were fully deserving of their win! 

4. Focus on delivering the prototype

I am at times a stickler for wanting to deliver the full product as leaving things unfinished sometimes make me uncomfortable. This, however, is not a good mindset to approach a hackathon as the end goal is to deliver a working prototype and not a fully-fledged product that is ready for release.  So, make sure you have the core functionalities first, and then move to styling.  

5. Keep time for testing

All of us know that testing is an integral part of a software product and the ones made during a hackathon is no exception! This is closely related to my previous point and is vital as a product that works on your local environment but not once its deployed to staging or production environment is quite frankly embarrassing and could undo all the hard work you just did. Remember the judges give you grades for what they see you present, not how you did it and the journey. 

 6. Ask for help

We don't know everything and there is bound to be some sticking points where you will need external help. The problem is that when you're in a hackathon, you cannot afford to be waiting for an answer from someone on Stackoverflow. I faced a similar issue with the aforementioned dynamic routing in point 2 and sought help from the dedicated mentor we had from 10Clouds (thanks Jaroslaw!).  

If the hackathon you are in does not provide such dedicated mentors, I recommend you keep several friends in on the loop about your participation in the hackathon so that it would be easier for you to reach out and ask for help.

 7. Work on your product pitch

An integral and deciding factor for many hackathons from what I’ve heard is the product pitch which is essentially the team or a member of the team presenting the product to the judges. There is a time limit involved and the one for us was 5 minutes. I like to think that I did a decent job here but having seen the tape of me doing it, I think I could have been more succinct and showed the design files we had on Figma. This would have made my narrative of how we came across the idea and developed it, a story. 

 So if you are going to be the one presenting your product to the judges, make it an elevator pitch. Keep it simple, do not repeat yourself and tell a story with visuals and demo your product. We as humans are visual creatures and sometimes tend to shy away from abstract narratives, which is why telling a story is always a good idea. 

8. Remember why you are there

Hackathons are draining and can be emotional as you are highly strung, working to finish a working prototype in under 2 days. But remember that you are there to have fun, meet new people and learn. This to me was the most important takeaway from the hackathon as it was just such a great experience to be working with other developers in contradiction to my usual solo work as a freelancer. I learnt so much from my work with Piotr and Przemysław and will definitely be using these learning in my future projects. My only wish is that I could have met everyone in person, but hey, we are in a pandemic, and all of us have to do our part to keep everyone else safe!

 I'm aware that this was a longer post than my usual posts with code and hope that my takeaways help you be more prepared for your hackathon. The experience I had in my first hackathon was a fantastic one filled with new discoveries, learning and friends. I intend on participating in more of such hackathons and will definitely keep you in on the loop on my takeaways from those as well.

 Image credits to the 10Clouds Facebook page