You Never Forget Your First
Tags: ruby, cli, firstyearincode
Published: 2021-08-25 20:26:10

With the job hunt on I've continued working on my website, new projects for my portfolio and solving problems on HackerRank. To keep my skills fresh and continually growing.

In the meantime, I thought it would be a good time to get back into my old projects and see how far I have come. With my new understanding of programming I can tweak and refactor it.

To begin, I chose my first project. A simple Ruby CLI application that retrieved class information from a Dungeons & Dragons API for my users to find a basic overview of character classes.

Starting like everyone else I knew absolutely nothing about coding and programming. My first attempt at getting it running took me a long time. it would work partially. or I would be presenting the wrong info, due to a flaw in my logic I programmed or the API endpoints had some errors. I kept hitting a different wall that I would overcome. Only to discover a new bug that shook my confidence to the core. I wondered at times, "did I make things too tough for myself or had I chosen the right path leaving a comfortable job for becoming a software engineer".

That self doubt ate at me for a while. I know it does that to everyone. I persevered through it and got it working! My first application, my first real step into the programming world. Something that I toiled and tweaked and more then one time was to stubborn to sacrifice the functionality that I wanted.

I started to look back at all the self doubt and realized it had been a long time since I had to learn and struggle for something I wanted. It felt good, really good to solve and adapt around every obstacle.

I can not recommend enough to go back to those first projects you worked on. seeing through new eyes of being a stronger developer. Things I wanted to do, but either had no idea how to or wasn't able to really delve into since I was under time constraints to get my project in. But now after the fact I was able to Make my code DRY, look back and make my logic better to handle edge cases. offer a better looking UI for the users with cool ASCII images. and just all around quality of life updates to my original code base. For example I modified some logic I had where I was making my user have to type the name of a specific D&D class to look up the information. I did have failsafe's for when someone typed a name wrong that provided a cheeky little error message "Are you sure that's the information you seek". As I've learned the more hoops someone has to jump through or the easier it is to mess up reaching the information they want the less likely those users would come back and use the application again. I worked from my new knowledge and changed that user input from having to put in the class name to making it a simple list that people could type a single number and hit enter to get to the information faster and less likely they will hit that new error when they make typos.

the other reason I went back to this CLI is that I want to see what complexity I can throw into my very first creation. It has reminded my why I decided to make this drastic career change and why I love being a software engineer.