Just Start Developing

2023-08-04

I broke basically every convention of the design and development process at the beginning of making this website. Arguably this was the best thing I could've done.

I have been "meaning to make a portfolio site" for over a year now and the only work I had done to acheive that was saying that sentence to people as if "meaning to" meant anything. What was I waiting for? I think the obvious hold-up was having no idea how to start or what technologies to use. Sure I could throw an html and css page up and look at it in my browser, but anything beyond that was foreign. Maybe one of my college classes will teach me? Nope, you need to take multiple years of calculus, learn advanced data structures, and simulate a vending machine with circuit and state diagrams first. I love computer science and that is what I'm studying, so these things are all very interesting to me, but none of them can make me a website. Of course computer science is not the study of web development. Regardless the lack of more practical electives, especially ones available in the first two years of the degree path is still annoying.

I decided to just learn myself. I tried a few times with failed starts, aka watching long youtube tutorials and then stopping halfway through out of boredom. I don't want to watch someone code, I want to code. The most important decision I made was to just start. Just pick a stack and start, doesn't matter what it is. I chose to make a React site for no reason other than it is so widely used, and would be good to have some experience with. Does my site need React, no. Was that the optimal choice, no. I don't care, just start. From there I chose to use NextJS and host with Vercel, because it's simple and I could get something up quickly (oh and its free 👍). From there I just started developing sections of the site in whatever order I felt, googling individual problems as they came up. Before starting I came up with no design, no roadmap, and learned no best practices. Yes I will pay for that all later, but at least I started. Had I obsessed over learning and designing from the top down beforehand, I would still be telling people that "I've been meaning to make a portfolio site".

It goes without saying, this approach would be horrible in any professional or enterprise setting. In this case I have no clients or boss to deliver to, I'm just learning and practicing. For personal projects where experience is lacking and motivation is limited, you should just start.