Life is Like Coding

It’s a beautiful fall day in Minnesota. The sky is that amazing September blue and completely clear. The sun is warm, but the breeze has a hint of cool in it and is strong enough to rattle the drying leaves just enough to make them sound like a waterfall every minute or two. I love these days.

My garden is about done thanks to some unseasonably hot and dry weather the past few weeks. We’ve reached that lovely point where gardening meets fatalism. There’s no point in weeding or mowing; it will all be dead soon anyway. The tomatoes are either dead or overripe. All that’s left is pulling up the annuals, cutting back the perennials, mulching what needs care for the winter and hauling everything to the compost site. As much as I love that process, it’s not time yet. So, I must spend my time like every other gardener, sitting on my porch, sipping a cup of thoughtful tea and writing about how gardening is a metaphor for life.

Except I am in reality at my kitchen table wrestling with WordPress, trying to download something from Code Canyon and reacquainting myself with html. There’s been a lot of that lately. I haven’t written html code for about 7 years, maybe longer. And I still wouldn’t say I am “writing code.” More like “tweaking code.” And as I sit here, looking up the code for an email link one more time, I am struck by how much coding is a metaphor for life.

If you don’t speak the language they won’t hear the message.

Coding – for the non-geeks in the audience – is what you are doing when you use a computer language to talk to computers and tell them what to do. Like a code, a computer language looks like gibberish to the uninitiated. Computers don’t speak English, not even if you speak it v-e-r-y s-l-o-w-l-y or LOUDLY or if you use expressive hand gestures (of course this doesn’t stop everyone from trying). Computers only understand computer; if you want to talk to them, you need to speak at least a little computer.

We all need to learn to speak others’ languages, a least a little. I don’t mean Spanish of Japanese or Farsi. I mean we need to hear what another person is saying enough to get a glimpse of how our words sound to them. And then we need to adjust. If we want to reach someone, we need to use words and images that mean something to them.

The work is invisible.

I have written about invisible work before. The downside of invisible work is right there in the name. No one sees it. So they forget it even happens. I remember the first time I made a “simple” design change to a website. It seemed to take hours and many lines of code and lots of swears before it came out just right. I was thrilled with the result but no one else was impressed. It was just a simple change. Why was I making such a big deal about it, and by the way, had I been crying?

I truly believe that work is getting more and more invisible. And I think that’s cool. I love making work invisible. It makes me feel like a magician. But as we benefit from more and more invisible work, we become ungrateful. We are become convinced we did it all ourselves. The next logical step is deciding anyone who hasn’t done what we’ve done is lazy and a freeloader. And the step after that is that when we can’t do it “alone” anymore, we are unable to ask for help.

I try to ponder the indivisible work I benefit from at least a couple of times week. This chair I am sitting on right now. Someone heated and bent the metal tubes for the legs and back. Someone else drilled the holes and screwed them together. Before that, people mined and smelted the metal. Someone added the cushions. I will never know any of these people, but I still sit get to sit on this chair.

The next time you speak into a small metal and glass box to ask for directions, say a word of thanks for the people learned to speak computer so they could teach the computer to speak English, for the people who created the many parts, for the people who assembled those parts and for the folks who brought those assembled parts to you.

There is a rhythm to it.

I fall into a rhythm when working with code. A. Space. Href. Equal sign. And so on. It’s the same when I format reference lists. Last name. Comma. First initial. Period. Comma. Open parenthesis. Year. Close parenthesis. Period. I mentally repeat these steps to myself (unless I have some privacy, when I have been knowing to mumble them). It becomes my mantra or my prayer muttered over the rosary of my key board. There is a way to begin and a way to end. It’s relaxing and comforting and I truly do enjoy it.

We need more ritual and rhythm in our lives. Ritual and rhythm transform routine tasks, giving us a chance to slow down and be present in the moment. They help us quiet the mental noise. Maybe we just need to see and honor what the rituals that are already there. You wash dishes every other day – or maybe more often if you are some kind of neat freak. You can grumble about it or you can see it as a ritual of hot water, soapy smells and repetitive motions.

Little things matter.

When you are coding a misplaced bracket or slash can turn a beautiful site into a mash of random characters, or so it seems. You have to respect the power a little thing like a bracket has and know how to put it in just the right place. The little things make it all work.

“Don’t sweat the small stuff” we used to tell each other. And I am not saying we all need to make ourselves nuts over unimportant things. But details matter. Both the devil and God can be found in them. A kind word or a remembered birthday can earn you big points with a difficult co-worker. Looking in someone’s eyes as they talk to you makes them feel listened to and understood.  Just ten minutes of yoga or prayer can make your body, head and heart stronger and more flexible. I found that a simple piece of toast with peanut butter in the morning can improve my afternoon mood and energy level.

You’re working without a net. And that’s okay.

You don’t really know how a website or blog is going to look until you go live – that is you put it out there for everyone to see. And trust me, nothing makes an error pop like knowing everyone can see it. I can find it nerve-wracking sometimes.

When I first started working on a big website – as opposed to my personal stuff – again, I felt that hot moment of fear and shame of making a very public mistake. Thousands of people used this site on a regular basis.  But in all honesty, the chances of any one of them seeing my mistake before I fixed it were pretty slim. And even if it had been seen, the see-er would most like have refreshed the page or come back a few moments later and found what they were looking for. The internet is surprising forgiving. We have come to expect glitches, minor mistakes and less than perfect writing. Few mistakes are permanent and corrections are often easy.

This is one of the lessons I most need to take from coding to the rest of my life. I can get wound around my own axle trying to avoid mistakes. I want to be sure I know how things will turn out before I “go live” with an idea. But going live is the only way I will only know how for sure how it will turn out. As I get back into coding I begin to trust that life is forgiving, that few of my blunders are everlasting and it often pretty easy to make corrections. Far easier than I think it’s going to be. The bigger secret, the one that is so easy to forget, is that most people are so busy fretting over their own mistakes to notice the brief moment when ours was visible.

There isn’t much here you won’t find in other places, with other metaphors, but the contrarian in me likes the idea of find profound, squishy truths in world of keyboards and screens and data uploads.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s