My First Virtual Hackathon!
A reflection on the TigerGraph Hackathon.
Intention: I wanted to take the time to document and reflect on the TigerGraph Hackathon that was held virtually. I also thought it’d be fun to do this in a Q&A format!
What is TigerGraph?
TigerGraph is the world’s fastest graph analytics platform designed to unleash the power of interconnected data for deeper insights and better outcomes. TigerGraph fulfills the true promise and benefits of the graph platform by tackling the toughest data challenges in real time, no matter how large or complex the dataset.
Our Solution
As recent as 2015, FRC (FIRST Robotics Competition) has provided more match data through their API and thus allowed teams to gather and analyze this data. In addition, other independent organizations like The Blue Alliance have created a website and app for teams to make this data more accessible. Our team decided to try our hand in analyzing this data, experimenting with the Tiger Graph Cloud, and developing a dashboard with Plotly Dash.
Submission link: here
Let's dive into the Q&A!
How did you hear about the TigerGraph Hackathon?
It was the beginning of July, on a Friday evening and I got a group text from my second-cousin, Christian, asking if I’d be interested in participating in the TigerGraph Hackathon with him and any of his friends who were also interested. I actually hadn’t done a hackathon before! I thought this was a great way to dive into the hackathon/solution-building world. Plus, with this hackathon also being held virtually with the submission deadline being 2 months away, I was able to dedicate the off-work hours needed for this project.
What was it like working on a fully remote team?
Team-wise, there were about six of us who all have a full time job in the fields of Software Engineering, Database Management, and Machine Learning. Due to Covid, we were all working from home starting around May so this hackathon definitely felt like a side-project with a set deadline. For communications, we created a Discord channel and met once a week every Saturday. On Discord, we were able to upload any files that we had as well share our screens to demo during our weekly meetups. Only one team member was based in the east coast so we just had to be mindful of the time difference when setting the meetings up.
What was the process like considering the TigerGraph Hackathon was virtual?
With the hackathon being virtual and over 2 months, that gave us just enough time to brainstorm how we wanted to showcase the TigerGraph software. During the first two weeks, we discussed possible solutions and eventually settled on using the Blue Alliance data as that's what a few of our team members were already familiar with. We used GitHub project to outline the tasks that needed to be done for the features that we wanted. We also split our team into two teams: back-end (3 people) and front-end (2 people). The back-end team focused on loading the Blue Alliance data into the TigerGraph data model while the front-end team focused on the statistical functions and the GUI (Graphical User Interface).
What was your role on the team?
I worked on the back-end team helping with the TigerGraph schema and loading job setup. Having some experience with Agile development, I took it upon myself to be the Project Manager for the back-end and add a majority of the tasks needed to get the TigerGraph schema uploaded onto the TigerGraph server. At the end, I also created the demo video via Final Cut Pro and the team helped create the scripting for the video.
What are your personal takeaways from this project?
One takeaway is that I gained more leadership experience being the Project Manager for the back-end. Even though I started off creating the TigerGraph schema (graph model of the data), we still had to get that schema to the server, load the data which we had to edit parts of that data, and make sure our TigerGraph server was running. Since we all haven't worked with TigerGraph software before, there were a lot of unknowns that had to be fleshed out and addressed so definitely having more hands on deck helped. For example, there was a point where we were working two days before the extended submission deadline and we still hadn't gotten the schema to our server. One person was working on it but unfortunately, their computer kept crashing when trying to upload the schema. I made the call to get all back-end hands on deck and another team member was able to get the schema to our TigerGraph server.
Another takeaway is that it was helpful to have actionable tasks for members to work on. The quicker we started outlining the tasks, the sooner we were able to start working and even find out the unknowns/uncertainties that came with the implementation aspect.
What are the team takeaways from this project?
After the submission deadline, the team gathered for a quick retro. We outlined that it would useful to have the requirements outlined earlier and it would be useful to add a quick 15-minute Scrum meeting during the week. In addition, it would also be useful to create a Project timeline or Gantt chart just to make more space for testing since we weren't able to get to that. Being on the back-end team, we felt that 3 people was a good amount and so hearing the front-end team's thoughts, they would have also benefited from having another person as well to bring them to 3 team members. Upon reflection, this also reminds me of
Miller's Law
where a person can retain or process only 7 ±2 chunks of information in serial order. With this in mind, I think that having a team of 6-7 people would probably be the most optimal in terms of holding a conversation and processing each person's input.
Wrap-Up
Overall, it was great working with a team who are full of determination and grit and was willing to jump in whenever asked. We were also grateful that the submission deadline got extended otherwise we wouldn't have been able to submit our solution.