As every new coder knows, it is important to showcase your skills, knowledge, and growth with a portfolio website, especially if you are interested in getting a job, which I certainly am. Although I knew how important that portfolio is for at least the last half of my coding bootcamp, I did not even think about getting started with the process until the bootcamp was over in December of 2016. Why? you may ask. Well, I hope here to make that clear.
At that point on a cold December morning with the thought of Christmukkah shopping hanging over my head, when I started to create the files and folders and build the HTML document for my website, I began to feel as if I had never seen HTML or CSS before. And then there was the question of what to showcase on the site. I looked back at my coding projects and realized I had no idea what any of them did or how they worked. My immediate plan when overwhelmed by my own lack of comfort relating to knowledge is always to request books from the library. So, I did that, leafed through them as they came in, and didn’t actually go back to that website until March.
In the meantime, I continued to work on a mobile app I had begun in the bootcamp, made revisions to some ugly websites as a contractor, and interned and worked in the front end of a web app for a start up. Feeling more comfortable with code in general, and front end in particular, I decided to make that attempt at my website again. After looking at the sites of some of my bootcamp classmates, I was almost too overwhelmed again to begin. I loved their sites and thought they were wonderful, but I did not want to copy them, or be thought to be copying them. No ideas came about how to be original. Time passed.
A suggestion from a graphic designer/ coding newbie I was helping with some Ruby programming finally propelled me to begin. All of the sites I looked at scrolled up and down the screen. She suggested I make my site flow in a more horizontal fashion. Ah ha! Something different, I thought. After many, many days struggling with Bootstrap’s carousel component, combining the carousel indicators with a nav menu, and making many minute adjustments to make the site work and look decent (and doing lots of stack overflowing and blog reading), I had a site that I felt looked good enough to put online. I probably spent 10-15 days of 8-12 hours getting that site to work and be “original.” Getting a domain name and a site on Github was almost too easy to be true. The site was live! It looked great on my computer, but here is how it looked on my phone:
Uh oh. Forgot to take that responsive thing very seriously. Back to the drawing board.
At this point, I decided to learn a little bit from my experience and enact something I had heard about from a guest on the Code Newbie podcast, Lil Chen. She mentioned this post, which she felt was an important one to think about when building websites or any software product. If you don’t feel like clicking on the link, I can tell you basically that the post uses building a car as a metaphor for building a product for a customer. The writer states that one should not build a product for a client by starting with a fancy car wheel and tire, but should instead begin with a bus ticket or a skateboard. The first iteration should be the minimum testable product, the point being to get it in front of the customer right away to find out more about what the customer needs exactly. The iterations should not be to build more parts for the car, but should be instead to build a scooter, then a bicycle, then a motorcycle, etc. to see how these measure up against the customers’ wishes and needs. Henrik Kniberg explains it much better and uses some real-life successes and failures to illustrate.
In my case, my customer was myself and my needs were to get that work online so I could have something to show potential employers. This need for perfection and fearing looking inadequate is essentially my problem as a coder and a person, something I am trying to work on. Voltaire wrote a great precept, which translated is essentially, “Don’t let perfect be the enemy of good.” Or, in my case, “Don’t let perfect be the enemy of getting started.”
So, instead of spending weeks getting my horizontal carousel site to be responsive, I now have a much more responsive site that scrolls up and down. It took me one day to rewrite the code. It’s still not as responsive as I would like, and is not as original as I would like, but at least it looks the same on different web browsers and computer screens of varying size, which my other did not. It has links to my code samples. And, well, it exists, which is saying something. Find it at www.cimigreen.com.