Experience and Perspective
Last week a couple of peers and I decided to participate in our first hackathon. The hackathon was described as “A gathering of our tech-for-good community to make a difference for nonprofits, government agencies and social impact startups.”
In order to participate, the hackathon required signup prior to the event and provided short descriptions of the projects that were selected for the event. On the day of the event, the lead organizer moderated short presentations provided by a representative over a group Zoom call. Afterward, the participants were allowed to join predesignated breakout rooms to hear more about the needs of each project, and what would be focused on during the next 7 hours.
My peers and I decided on a project called, COVID-19 PPE Allocation Optimization Tool, its page description is below:
“In response to the COVID-19 pandemic, states are providing cities and counties the needed Personal Protective Equipment (PPE) to distribute among healthcare and other facilities within each jurisdiction. These central distribution facilities are tasked with assigning allocations of boxes of each equipment to the needed facilities. However, these boxes come packed with varying amounts of the specific equipment that don’t necessarily lend well to allocating the exact amount for each facility. Public Health managers would like to have a solution that quickly optimizes for the following: 1. Each facility gets some % of their allocation (ideally 50–75%) 2. Minimize the deviation from allocation assignment”
In Our Breakout Rooms
Within our designated breakout room, the project manager explained the current situation faced by medical facilities throughout WA state. We soon determined how best to divvy up the volunteers within the group and went about planning how to solve our portion of the problem.
The group I was in focused on the backend of the application, we (myself and a peer named John) were tasked to convert csv files into code which could be run through an algorithm (we would develop) to produce a single csv file. This file would detail the items and the amounts of each item that each facility within a county had requested, ideally expediting the process and providing facilities with the actual PPE’s they require.
There Are Plenty Of Problems To Solve
During this time it dawned on me how many small issues exist within the infrastructure of our society, and how these small issues cause cascading inefficiencies that have a larger overall negative impact. In this instance, preventing our medical providers the appropriate equipment to keep them safe and provide the best care to patients.
As we worked through the process of building and debugging our code, my focus was brought to what it must be like handling all these requests with a plethora of different excel sheets, how much of an ordeal it must be to request and fulfill these demands and how simple modifications to our output could help expedite the process on both ends.
Thinking From The User’s Perspective By Calling On Your Own Experiences
Having had previous experience as an inventory manager, I imagined how I would prefer our output to look like. In the same fashion, I imagined what the most efficient manner of computing the output would be, based on the data that we were given.
It became apparent that the facilities needed the ability to specify their orders to a greater degree, and that as developers, we needed access to that data, as well as more information about how inventory checks were conducted at facilities, and how fulfillment orders were conducted at the county level. Having this knowledge would allow us to develop an algorithm that could be optimized for the situation as well as an output that catered to the user.
I brought these points up to the project manager, and he agreed that this was useful information to consider and appreciated the perspective. He set out to find the answers and it occurred to me how my past experience outside of code had lent itself in a critical way.
Combining Our Code
Towards the end of the 7-hour mark, our group had completed our piece of code and merged it with a GUI our other peer + volunteer had created. Our two groups were amazed that we had managed to come together and develop an MVP that could actually become a solution to this ever-pressing problem. And it was also really fun to be able to work in a group where we went through a sped-up ideation and development cycle and also joke around a bit too.
At the end of the hackathon, we each had a brief moment to describe the work that we had completed that day. To be honest, it was nerve-racking to speak in front of a bunch of more experienced coders about code I helped develop in only 7 hours. But it was also an awesome experience to go through. And taught me a lot about myself and my ability to adapt to a situation on the fly.
I learned a few things that day that really sunk in.
Although I have less coding experience than many developers in the world, I have many other experiences that make me unique and provide insight into problems that may be used to better the functionality of an application — indeed, may even be crucial to its development.
There are thousands if not millions of ways that code can provide solutions to wide-scale problems. These solutions are for people at the end of the day, for the improvement of our lives and it's important to keep these people in mind when we develop our applications. Their daily routines, needs, procedures, and struggles. On the other side of the coin, these solutions can and are created by the very same people who likely endure similar pains. With more people, carrying more experiences, we have a chance of doing real good for the world, which I think every person truly desires in their hearts.
Coding in itself is a remarkable experience, from the code to the application, to the user, to the community. I managed to get a snippet of what life as a developer is like, and I felt enlivened by each part of it. Putting my mind towards developing an application that could help people; listening to the amazing ideas that are developed for our society; working alongside, bantering, and learning from strangers; as well as feeling the small bit of pride of building functional code. It made me excited for the future and gave me a taste of the life I’m working towards.
Long story short. If you haven’t participated in a hackathon — do it. You’ll learn a lot and you won’t regret it.