Since I was young, I’ve been enamored by the power of computing and the internet. I aspired to be a builder of applications that would delight and serve. With a head full of dreams, I looked at a website and said to myself: “This doesn’t look hard to build. I can do it.”
I first picked up my shovel and broke ground when I discreetly built a website in my high school AP Java class.
The class was an experiment for our high school. An online instructor would assign and grade our code. We would sit in the computer lab working on our assignments under a supervising teacher (who knew little about Java).
The assignments in the online class were boring. The outcomes of my code were intangible. For the uninitiated, Java is a general purpose programming language. It’s not used to build websites.1
But there was a silver lining. Our class discovered that our online “teacher” gave us automatic 100s, as long as we submitted something, anything, in a .java
file. Most of us pretended to learn Java that semester. We ended up with glowing grades — and terrible AP exam scores.
Ironically, this pretend programming course made me the developer I am today. Instead of watching YouTube videos during class time, I picked up a shovel and taught myself to build websites.
Digging Into the Stack
Brandishing my shovel, I began to dig into the machinations of web development. Not far beneath the loamy soil, I had built my first website. Imagine! A page on the internet to scroll and click… it could be whatever I wanted. I was in the world of front-end development. Code suddenly had meaning. Rather than mindless gibberish, it could make vibrant screens come to life.
As I dug, I found hidden gems and ancient artifacts. At times, I would surface from my laborious digging. By building websites, I realized that the gems and artifacts were useful. By digging, I was able to create experiences that mattered to people. The hole remained, and I seemed to always return.
Perspiring from the effort, and motivated entirely by curiosity, I sensed that there were layers beneath that one. Over time, the shovel thunked steadily. By the time I had graduated college and went to a bootcamp, I was deeper in the stack and the elusive server-side began to make sense, too. Being able to store and retrieve data became easy. Even though I had dug deep, I was always able to surface, to connect my mission in the deep chasms with the yearnings above.
I finally understood what Java was good for. While I would lightly chide myself for not paying attention in high school, I recognized that for my learning style, I needed to dig through the topsoil before it would make sense. I’ve found even better gems since. The Ruby programming language is among my favorites.2
And as I’ve kept digging, I realize that the hole is never ending. Among programming languages alone, I want to learn Go, Rust, and Elixir. Compilers, interpreters, and container orchestration no longer exist to me as snatches of technical jargon. They’re gems to find within the next layers.
Grab a shovel!
If I sound excited about nerdy tech-tools, it’s because I am. When I’m learning about how to build for the web, I’m digging. It’s effortful. Sometimes, the days feel long and the progress little. And yet, it’s also play. It’s serious work with plenty of levity.
The digging metaphor applies to more than just technology.
When I picked up my proverbial pen to write online, I didn’t think I had much to say. A few things, sure, but not much beyond that. I figured I’d take a chance on myself and write those few things down.
What happened next was surprising. I found depth in my writing voice. I found limitless ideas for how to grow as a writer. I found myself wanting greater breadth in the topics I wrote about, wanting to learn about rhythm, wanting to study poetry, wanting to experiment with playful language.
I found that I had picked up a shovel and started digging.
Where do you see the limitless layers in your life?
Where are you actively digging?
Where could you dig all day long?
This isn’t technically true. Java technically powers a lot of server side code out there, but I wasn’t learning web development Java in high school. This over-simplification is to spare readers any gory details.
It’s also the inspiration for this metaphor. 💎
Ha, sounds a lot like my experience with Java in high school. I found it inscrutable and it scared me away from programming until I circled back after college.
Very well written