Tackling the Astronomical: my First Hack-a-thon Experience
This week has been a hard week for me honestly. Adventures of a new transplant to Denver, Colorado from tropical Honolulu, Hawaii. The snow that I was so gung-ho (enthusiastic) for finally came in. I slipped on ice and hurt my back, and I think the cold is making me sick. Then, I got thrown into my first hackathon today. We would conceptualize and create a full stack application with a given theme over the course of one work day. Goody!
I was assigned to work with Josh Cabral and Sam Hoidal. Given the weather, our group was separated with Sam working remote. It was a humbling experience of how much I need to learn and how important collaboration and communication is in the development field. In this article, I will discuss how me and my team attempted to create something astronomical.
We conceptualized an interface where a user could search through NASA photos from an API, receive related photos, and be presented with information on the chosen photo. Josh and I would tackle the backend and Sam would use his React knowledge to create a front end user interface.
Pair programming with Josh was a great experience. I continue to be an advocate for this type of programming. Josh took the reins on the computer and I helped conceptualize our process. We developed a backend on Ruby on Rails. We created a many-to-many relationship between a User class and a Photo class. We set up the controllers and the actions for each class. We then set up the seeding of the database used by the user interface from the NASA API with the help of Sam.
Sam worked on the front end interface and it felt like he took on the bulk of the work. Setting up the user interface for searching the photos and making the interface presentable took until the last minute. Witnessing his work taught me several lessons.
First of all, communication across the team about the scope of the project given the amount of time was key. Sam really helped us determine what we could accomplish in the given time. I learned that we could have easily bitten off more than we could chew by adding too many features to the application.
The second lesson I took away was that it would have probably been a better strategy to set up a simpler backend and then watched Sam work on the front end. That way I could gain exposure to a new technology and contribute what I could to his process. We spend a lot of time creating a full scale backend in Ruby on Rails and sent our contribution to Sam later in the day. This was not as beneficial to our project and prevented a good learning experience. I think I will attempt to use this process when I am the team leader on the next Hack-a-thon when I am learning React.
Thank you to my partners Josh Cabral and Sam Hoidal for making this a valuable experience and putting in the heavy lifting. I will take the lessons I learned from this experience to be the best team leader I can be on the next Hackathon. It was rewarding to finish the application on time. I will put my head to the grindstone and keep on learning…