It's OK To Start Over - CLI Gem Portfolio Project

Posted by Denali Balser on June 18, 2019

During this project I learned that it is very easy to let yourself feel isolated, inadequate, and overwhelmed when faced with your first (or potentially second, third, and fourth) solo based code endeavour. In the beginning of the project I remember seeing the blank slate of my Learn IDE Sandbox and feeling my mind becoming a blank slate as well. This was a very scary feeling.

I watched the provided video resources and browsed the CLI Gem examples, which were helpful but I fell into the trap of pattern programming. I was so nervous that I didn’t know what I was doing (suffering from some imposter syndrome) that I just tried to code along with the tutorial videos and examples I found online. As to be expected, this turned into a mess of code that I neither understood nor could work with. I was sinking deeper and deeper into the ‘dark swamp of despair.’

In order to combat this, as I was not listing ‘giving up’ as an option, I read articles on ‘Imposter Syndrome,’ I looked at the above image, I took walks outside to try to find some perspective, and I talked with my friends to try to gain a more positive outlook.

In the end, what was first so terrifying to me was what my mind needed to move on and make progress; a blank slate. So, after a week of hitting my head against the wall (metaphorically), I started over. I came up with a new project concept, found a new website to scrape, started a new repository in GitHub, poured myself a fresh (large) cup of coffee and got to coding.

This time I was making a CLI on the 6 best yoga poses to destress the mind and body, fitting given my previous week. What I had coded (or emulated) in a week I was able to do in a day, getting my project running in the same 24 hours I had started it. This was both relieving and empowering, as I finally felt like I wasn’t a complete imposter.

While I still had challenges in creating my new project, the relative ease of my second attempt as compared to my first attempt reassured me that, although I felt like I was moving backwards during my first CLI attempt, I must have learned something from all of the resources I had frantically reviewed.

I ended up with a command-line-interface that scraped the names and descriptions of the six best yoga poses for destressing. The program begins with a welcome message, followed by a numbered list of the six yoga pose names, scraped from the website I chose. The user is then prompted to select a pose 1-6 that they would like to learn more about. The program then outputs the scraped description associated with the user’s selection. This occurs within a loop, so that the user can continue to input a number 1-6 and get back a description of the selected pose while the user input is not equal to ‘exit’. If the user inputs anything other than ‘list’, ‘exit’, or a number 1-6, the output will read “Invalid input, please refer back to the directions to find your pose!” and then the selection prompt will be printed again. The user can type ‘list’ to see the numbered list of yoga poses again, or type ‘exit’ to exit the program.

This project was hard! But very rewarding, and helped to solidify the concepts we have learned thus far, even if it felt like I had completely forgotten all of them. The main lesson I learned through this project was to not give up and that no matter how deep you get into a project, it is often best to take a step back and even start over.