Learning from what past me learned
I have been going back through my old posts from ages past. Here's one from 2015 where I was learning how to use the
shelve module to mess with DBM-style databases. This was part of an extended series of blog posts where I went back through the Python 2.7 standard library, digging into every module and trying to learn something about computers by reading about what various modules did.
At thes time, I wasn't much of an engineer. I was building Drupal sites for a creative agency. I couldn't follow any sort of computer science paper. I had never worked on a supercomputer. I had never crashed a web application through poor caching. I was just hacking on CSS styling and learning some PHP, which I still found extremely hard. Most importantly, I didn't know what was coming.
I must have written that post while I was going through interviews with The Atlantic to work on their publishing platform. That was going to be my first full-time Python gig. I didn't know what I was doing there, either. I was certain that we needed "microservices" even if I didn't have the faintest clue what that really meant and was unaware of the potential risks I was causing.
Fast-forward to now. I'm reading those thinking "dang, I was just really into computers at that point but I had no idea what any of that stuff meant." Looking back, I learned so much that I benefit from now. I never used
dbm properly, but I have used a bunch of non-relational database patterns. I have
pickled objects and I understand that while it's a cool data storage format, it's hell on the time required to input and output.
And perhaps most importantly, I've learned that technology is mostly about working through things you don't understand. By the time something is well understood, it's no longer on the cutting edge. It's a solved problem.
I'm grateful my younger self stuck it out.