Thursday, November 17, 2016

My chosen profession over the past 35 years, is in computer programming.  The jobtitles have changed over the years, but it all comes back to making computers do what someone wants them to do.  I came to this career almost by accident, but it is something I am suited to, and thoroughly enjoy.  It leverages both my technical, and creative tendencies.  And it also leverages my tendency to want to help people, as well as solve problems.

To do this job, you have to be good at finding root causes and filtering past the static.  I recently worked on a problem where the output of a process was almost nonsensical.  Years in this profession train the eye to see in unpredictability, certain patterns that lead to the root.  Very frequently, a result that looks completely out of whack is just one missing line of code, a small error in language syntax, or the data is formatted slightly wrong.

The recent problem showed a number of records as duplicates, but they clearly weren't.  My understanding of the type of process that was involved implied a possible shift of data.  There was enough similarity in the results to say that the process was simply "seeing" the input data wrong.

After reviewing the data versus the definition of the data structure used to drive the process, I found that indeed a new column of data had been introduced into the input since the program had been written, and this caused a number of columns to shift right, and some of the wrong data was being interpreted.

These kinds of problems and solutions are common in the job that I do.  At the root is knowing to look past the, sometimes massive, ripple effects that can be created by a small error.  A pebble sometimes brings what appears to be a tidal wave.

This is not to say that all of life fits neatly into this mode, but something I do see in relationships of all sorts, is that there is a tendency to get lost in the noise.  Once enveloped in this noise, it can be hard to delve deep and find the root source.  Often, the root source is much smaller than the final outcome.  Often the final outcome can result it the perception that "the whole processe is screwed up!"

I get that a lot from clients, and it's understandable.  They don't spend their time "deep in the details" and processes, they just see the mess at the end.  Often, if a small problem remains unchecked, the results of the errant process just get worse and worse over time.

After the contentious election cycle, I have been trying to get down to the root of all that had happened.  Of course, this is not just a simple computer process that can be debugged, but I feel the need to try to unravel all of the vitriol and contention, and help to uncover some root problems.  Of course, it is naive to think that it is all so simple, but I think I can benefit from peeling away the layers of frustration and the outwardly vast differences I see, and understand root problems.  I know friends from all ends of the political spectrum, and I see so many different reactions to what is happening now.  The root causes are often the same, and even the ultimate desire to fix them is the same, but the interpretation both of problem and solution is very different.

Each morning, I get up and write some of my ideas and observations down.  Some are of value, some are red herrings.  But that is always part of the process of debugging a flawed process.  Our current political process is flawed on so many levels.  I know that, as I continue to try to make sense of where we are right now, and how we got here, peeling back the layers is helping me at least in understanding, and understanding is the always first step to finding a reasonable, actionable solution.

I take comfort in placing the discipline of logic around complex results.

File under "for what it's worth."

No comments:

Post a Comment