One Step Forward

Kendan Todd
2 min readDec 7, 2020

As of today, I have finished my first project as a software engineer! It was both exhausting as it was fun and exciting. Building this from scratch had been a great challenge and I feel helped me see how far I have come from a month ago. At that time, I had no clue how to work in Ruby and use its methods, but that has changed. So now, I’d like to give a rundown of my project process to demonstrate a little of what I have learned thus far and how I incorporated that into my project.

Starting off, what was this project about? During the last two weeks, I have been tasked with creating a CLI from API completely from scratch, so how better to create it than from an API of one of my favorite studios? To initiate, the user would enter “ruby bin/run”. As it can be determined from the name, the “run” file is what kicks the program off. Upon starting the program, the user is greeted with a welcome message. Below is a numbered list of the studio’s films, from 1–20. When the user chooses from the list, they are returned the title, director, release date, and a description for the movie. This information is pulled straight from the API, which I will get into in a moment. After, the user is asked if they would like to select another movie, to see the list again, or exit. If exited, the user is shown a farewell message along with Studio Ghibli inspired ASCII art. This part of the program takes place in the “cli.rb” folder, which is responsible for the logic. This would be nothing if not for the “api. rb” and “films. rb” files. The “api. rb” is responsible for the storage of the API endpoint, where it can be iterated and create the objects for the “films.rb” file.

Studio Ghibli film, “My Neighbor Totoro”

Aside from the technical aspect of the project, it taught me in other ways. The last two weeks involved a holiday (i.e. Thanksgiving) and just finishing the first mile of the course. Needless to say, it was a lot. This project showed how important it is to plan out a schedule to ensure I put forth as much work as needed for the project. It is almost a guarantee that the program will not work the first, second or even a third time. There needs to be a time not only building it from the ground up but solving the issues that come along and giving the project some personalization. It is also important to utilize the support of classmates, research, and taking breaks. I had indeed enjoyed this assignment, but I would be lying if I were to see I didn’t become frustrated with it at times. Sometimes the built-up frustration can become distracting and cause the problems to be difficult to solve. Regardless of the allotted time, I had taken many breaks to come back soon after and find the bug in my programming. Self-care had been very important during this time and not only helped harden my technical skills but my work ethic.

--

--

Kendan Todd
0 Followers

Full-Time Software Engineering Student