Ephemeral software

Written on October 17, 2019

I often drive by construction sites and have this feeling of envy. I romanticize about how nice it must be for a construction worker to be able to labor all day and at the end of it be able to stand back and look at the progress he/she has made for the day. How it must make them proud. That what they eventually build, could be seen for years if not decades to come.

As a software developer, I’ve often felt I’ve put much effort into a day’s work. But don’t have the same satisfaction at the end of the day. I mean don’t get me wrong, I enjoy being able to solve problems. But at the end of the day, it’s hard for me to feel progress of something intangible. I mean yes, it’s lines and data that show up on the screen. But without electricity or even the Internet, what I build is so temporal in nature. And I’ve struggled with this dissatisfaction of working hard but often finding it hard to see tangible product.

I recently heard Jared White describe the feeling that I’ve had as a software developer and the work that I produce. In episode 41 of Jared’s podcast (which by the way is a great episode on mental health, give it a listen) he uses the word ephemeral to describe the nature of what we produce as folks who work in the digital realm. I thought the word, ephemeral concisely described how I felt about my work—that it is short-lived or temporary.

This afternoon, while on my usual lunch walk, I was passing by this park I often walk past. In the days past, I had noticed that there were some folks there cutting and doing some work at the park. I had assumed that they were doing repairs or building new benches. But today as I walked past, I took a peak at what they were doing. To my surprise they were making mosaics out of stone and placing it in a path.

I saw one of the guys who was working on the mosaic and gave him a thumbs up as a way to show that I was admiring the work that he was doing. He took off his ear muffs and waved me over. When I walked closer, past the lines of hazard tape, he uncovered a piece of tarp to reveal the latest mosaic. It was an amazing piece of dark gray stone, chiseled to look like a beetle. I was amazed at the meticulous care that he and his coworker had put into the piece.

He shared about how he made the piece and what techniques and materials he used and I could tell I was talking to a master. He then showed me the rough layouts of what he claims will be a butterfly mosaic. He showed me a drawing of a template on a piece of cardboard box and he shared how it’s been keeping him up at night trying to figure out the design and layout. In my mind, I thought to myself, we aren’t so different him and I. As we’re both creatives who make things.

He then made reference to the mosaic just a few feet away. He had shared that that was his work too but it was done several years back. He then pointed out the old mosaic—which was made out of stones and seashells—had flaws that he’s now able to see with the new skills and techniques he’s gained since the project.

I shared a few more compliments then asked if he had a website and walked away. While walking back to the office I thought about the man who had made the dragonfly mosaic. That although he was commissioned once to make this piece, he could see the start and end. What was fascinating to me was that for him, he has a tangible product once he finishes his work. The constraints which determines whether his work is done is either a deadline or the resources for the mosaic is depleted.

The mosaic will be there for a very, very long time. And the cool thing is, it’ll be there until the park either gets replaced, weather wears it away or some act of nature. But the mosaic has its purpose and doesn’t need to be enhanced. It does its thing, which I’m guessing is to provide an elegance to the park and that’s it.

With software it’s quite the opposite and I think that’s the discomfort that I’m feeling about the work at times. Software is so volatile in nature. Operating systems are constantly being updated. A piece of software you put out has to constantly be updated to support the OS it is running on. Or if it’s a web application, something as little as the domain name expiring can cause the software to be rendered useless.

If you’re building software for an employer, if the business is shut down, the server is simply turned off and the software doesn’t exist anymore. All the hard work you’ve put in with you colleagues…gone.

While the work of the stone mason or the construction worker, long after his or her time is done with the work. It will persist. It will most likely exist longer than those who created it. Without the need to be modified or enhanced. Serving the purpose in which it was built for.

I’m still wrestling with this feeling. I think it is something I’ll always battle with for as long as I’m a software developer. I mean don’t get me wrong, I still find it really cool that I could take what’s in my imagination and use the digital tools at my fingertips and create something. It’s just that what is built is so temporary in nature.

Perhaps this just means I need to spend some time outside of the digital realm and create something tangible that could be felt/held and is more “permanent”. Perhaps I’ll get back into making notebooks or furniture with my wife for our house. That might be the remedy for my battles with the ephemerality of my work.

Photo of notebook I made in 2015

Anyways I’d also suggest you check out the stone mason, Brooks Burleson’s work on his website. If you scroll down and click on the section labelled, Mosaic Garden Art, you’ll be able to find the dragonfly mosaic I spoke about earlier.

Stay in touch

Thanks for reading this article. I'd love to stay in touch and share more tips on programming and side projects with you. Sign up and I'll send you my articles straight to your email, you'll also get a free copy of the light themed version of my Git cheat sheet.
Git cheat sheet preview image