Web Development is Harder than I Thought

I am not immune to the Dunning-Kruger Effect

thoughts
webdev
Author

Vincent “VM” Mercator

Published

October 14, 2023

Modified

May 13, 2023

Despite how much I use the internet in my daily life, this website is pretty much the only experience that I have building any part of it. It’s definitely been a bumpy ride for me since I started learning web development in my free time – I’m definitely glad that I don’t do this professionally!

Before launching this site in August, I had been toying around with the idea of building my own personal site since around April while I was working on my master’s thesis. Since I was too busy at the time to learn HTML & CSS, I instead looked into different static site generators (SSGs) to do the programming for me. I chose to host my website on Neocities because I didn’t want to pay just yet for a website, and exposing one of my own computers to the internet via port forwarding is a huge security risk.

I first chose distill to build my website because I wanted to post interactive engineering articles with LaTeX equations using R Markdown; this immediately failed because distill was incompatible with Neocities. Still determined to not learn HTML & CSS, I resorted to using blogdown, which adds on to another SSG called Hugo so that I could write blog posts with interactive equations and graphs. I finally launched my site on August 19 once I finished setting up my blog as an RStudio project.

I finally realized that I should learn HTML & CSS after noticing how clunky blogdown made building my website.1 Adding it on top of Hugo made it incompatible with most of Hugo’s pre-existing themes, and I wanted to try my hand at building my own custom theme to distinguish my website from the rest. So, I rebuilt my website using plain Hugo and got to work building a new theme from scratch using Bryce Wray’s Hugo tutorial and Hugo’s documentation.

I had dealt with learning programming languages before, so surely learning a handful of languages that work together to build websites should be no problem, right? Well, HTML was easy, since it’s what Markdown was based on; CSS, on the other hand, was painful. A majority of my time learning basic web development was spent looking back and forth between my HTML files and CSS files and figuring out what part of both files was misbehaving on my website. It took me at least a weeks’ worth of my free time outside of work to wrangle with my CSS file and compromise on a website design that I liked. I now realize why people use other tools to write CSS for them, like Sass and Bootstrap.

With what I’ve learned so far, I think I’ve done a pretty good job for my first website from scratch. Given my expertise in computing, I thought that basic web development would be easy for me to learn in a day or two. However, I was met with a rude awakening that it was harder than I thought. If I were to start over from scratch, I definitely would’ve followed some of the pre-existing tutorials that already exist on Neocities that teach people web development. Making my website has given me a newfound appreciation for web development in general.

I hope you like what I have so far. I really enjoy working on my website, and I have lots of article ideas planned for future posts. Stay tuned!

NoteUpdate

As of 2023-11-03, I have fully migrated to using Quarto to publish my posts. You can read more about this here.

Footnotes

  1. No offense to Yihui Xie, the creator of blogdown.↩︎

Reuse

CC BY SA 4.0 International License(View License)