It was the last full week of March. The last three days before a bunch of us had planned to go to Amsterdam to attend KubeCon EU 2020. It was Giant Swarm’s Q1 Hackathon! While the former was made impossible due to COVID-19, the latter went full steam ahead. As a fully distributed company, we are used to doing remote hackathons.
We even know how to breathe down someone’s neck, virtually, but more on that later…
Ever since I joined Giant Swarm over a year ago, I have wanted to participate in a hackathon. I guess, deep down I want to perceive myself as a hacker. My blocker is my technical prowess or lack thereof. So, to date, I skipped most hackathons. For the last one, ‘The Operator Challenge’, I was an interested bystander.
This time, I became a participant. My team or rather the team I joined, tackled documentation. Not the content itself, but the presentation, ordering, and searchability of it. So, a hackathon-worthy project, jokingly called ‘The Giant Swarm Intranet’.
The aforementioned team had varying levels of tech-savvy, with me at the very bottom. But this got me thinking what the true purpose of a hackathon really is.
At an organizational level, they foster innovation. They disrupt the day to day ways of doing things. They keep creative juices flowing. They allow people to attend to problems they wouldn’t typically get to. On a personal level, it’s a great way to have fun and bond with your peers, while fostering learning. The nice thing about hackathons is that they are a total win-win.
The First Day
After the opening ceremony, the whole team got together to get started. I still had no idea how I could help the team, but I was rolling with it. The GitHub issue that housed this project already held a thread regarding the different tools that we could try. We settled on Docsy. But then we had to get fancy and put everything in a container. As Puja said: “We need to do it right”. At this point, he had three of us hanging onto his every word and keystroke as he worked his way into doing it right. No doubt made more difficult by three teammates digitally breathing down his neck.
At some point, I started losing focus because this was way over my head. I also sensed that Puja was getting uncomfortable, because, who wouldn’t? I started wondering what other tasks this project had. I realized that beyond the hardcore tech there was some usability to think about. As a result, the other teammates and I started to think about an ordering of the documents that makes sense. Now that was something I could actually contribute to.
Sunrise-Sunset and We Were on Day 2
Our next two challenges were to get the file structure in order and get Docsy, or rather Hugo to understand the order we were aiming for. If we didn’t, we would still be left with the random ordering of documents and files. In short, the same pain we were feeling and trying to solve with plain markdown files in a GitHub repository.
So, we went on our merry way to make a plan. We also learned that in order for Hugo to order things according to our plan, we needed to add “front matter” and specifically “weight” to each and every document. Now, this work required elbow grease and attention to detail. Both of which I have plenty of. I was finally feeling useful.
While I was AFK, Puja had taught teammates Snizhana and Chiara to run the project locally. I was blown away when they showed me. It looked so nice. It also solved the problem of sifting through countless folders and sub-folders on GitHub for what you’re looking for. Snizhana offered to impart the knowledge to me. This involved getting Docker to work locally on my machine (just a reminder, I do product marketing). After making a lot of progress and dealing with questions like: “So, why aren’t you using a Mac?”, we decided that we would solve the specific issue of Git and Windows at a later date. We had work to do and a deadline to meet. But I did learn that in cases like this Stack Overflow is my friend (product marketing, remember?).
Sunrise-Sunset and We Were on Day 3
On the last day, we had a plan and a means to fulfill it. We just had to get it done in time for the deadline. Elbow grease got us to where we needed to be to have a working Proof of Concept. It was time for the bells and whistles. Puja spent some time alone and with us hanging on to his every keystroke to package the documents in a deployable container too. That was a great teaching experience. The main lesson learned is that if one hasn’t worked with something for a while, one has to relearn it, something which is better not to do it in a large-ish forum. It was then that we realized that some of our stretch goals, for example, running it directly in our production cluster, weren’t going to happen. Still, we were very happy with what we had to present by running the container locally.
It is now one branch, 14 commits, 511 document changes later and I have been initiated into the order of The Hacker.
Personally, this hackathon ticked all boxes for me — bonding with my team, fun, and learning. I also feel satisfied, since our project tackled something important to me and I could never have gone at it alone.
In the greater scheme of the Giant Swarm Hackathon, some very important projects came to light. Some of which will continue into production. Judging by the opening and closing ceremonies, I can say that the sense of camaraderie and community was definitely there.
If you’re ready to reap the rewards of our continuous learning and atmosphere of innovation — get in touch with us today.