Last weekend, I attended my University’s first Hackathon. I am not studying in a field related to Data visualization, Data Analysis or Data Engineering, so it is hard for me to share my passion with some of my classmates. But this event was the opportunity for me to meet people with similar interests.
Spoiler: I did not win one of the primary prizes, but my team won the secondary prize.
A hackathon is a programming competition where organizations show us real-life problems. In teams of around 3 or 5 people, we have around 12 hours to submit a solution to the problem using programming. There are prizes involved. There are also professional (mentors) out there ready to answer questions if needed.
What did I learn?
Variety of skills matters
One team had three people doing a Masters in Project Management and only one person who knew how to do programming. Having a diversity of skills is a really big advantage in any project. Someone will take care of the Data Engineering (extracting data, transforming Data, loading Data … yes, it’s the famous ETL), someone will take care of the building the models and someone else will work on the User Interface where the potential client will navigate in the Dashboard. This is some basic way of organizing team based on skills, but it can be different based on what you have in your context. It allows everyone to be able to work simultaneously and not waste any time (since time is limited for any coding competition).
Learn Git
Lately, I learned a lot of it about sports analysis. One of the main things I learned about are the things I don’t know that I need to know. Among those things, there is Git.
Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows. (Wikipedia)
When you start coding, you do not realize it but you will face a few problems in a near future:
Collaboration: You will work on projects with other people
Version control: Managing changes in your code
Why is it important? When you start working on bigger projects than print (“Hello World!”), working on the same project as your collaborators at the same time while you are all focusing on different parts of the code or on different files from the same project. You will also find it useful to keep track of all changes made to the project. It makes the team more efficient, and it can help to have a lot of time. Learning Git on top of my to-do list.
Communication Matters a Lot
One of the biggest challenges of my time at the hackathon was the communication. On a team, it is important that everyone follow the same goal. If one part of the team is going left and the other part of the team is going right, you will be really lucky if your submission is successful. Having a leader is a really good way to organize the team and make sure that commutation is not a problem. I feel that the lack of communication within my team almost made us submit nothing for the hackathon. Communication in the presentation is also really important. One of the judges told me that we spent time presenting things that did not matter much while we left out information that could be more relevant. We only had 3 minutes to do the presentation and we should have spent more time working on it to make sure that those 180 seconds really reflect our work on the project and how useful it can be to solve the problem. When I write an article, like here, I do not expect you to have 30 minutes to read me, so I have to go straight to the point so that you get the full idea of what I wanted to share.
I Won
As I stated earlier, my team failed to win one for two main prizes. Instead, we won the secondary prize. But I think it is what makes me a winner. I think that I won because I reached my goal and I went further. I made connections with people that have the same interests as me. I also found out that with enough focus and organization, we can do a lot of work in a short period of time. I feel that if I consider any task like a Hackathon problem and I use the same mindset as I had during the event, anything will be achievable. Additionally, I already knew I liked to work with sports data, but this event opened my mind to other types of data. In my project, specifically, I had to deal with the geospatial data and I thought it was really interesting. Solving problems using Data is what I want to do in life. Finally, I found out that that competition like Hackathon is something I really liked to do and I am looking forward to participating in other programming competitions in the future. It was a great learning experience, and I had a blast.
My project was about finding a way to identify Buffer Strips in the Outaouais region, look for their quality, see if they respect city rules and look for any anomalies. Finding Buffer strips data for the Outaouais region was really difficult, so we ended up using Data for the city of Laval. Then, we mixed real information with fake Data we generated using Python scripts in order to be able to submit a prototype of an answer that makes sense. Here is the Dashboard we built and we submitted for the project. (It is in French)