Not everyone is tech savvy. For some of us, this is easy to forget. Those of us who write code for a living must learn to think like computers, machines which behave in a reasonable fashion when explicitly instructed to do so; less so when presented with ambiguity. Machines do not ask questions when the intent of the programmer is unclear because for the machine, it never is.
This strange marriage of human thought and automaton is relatively new to our species and altogether unnatural. It is tempting to assume that the skills which allow us to communicate effectively with the machine world translate readily to the domain of human interaction. One must keep in mind however, that while machines are incapable of misunderstanding, human beings are not.
Aside from technical competence, no skill is more valued in consulting than the ability to communicate effectively with one’s peers. Machines, having no appreciation for etiquette or social niceties, demand little of the programmer in terms of interaction. Effective communication among individuals, however, depends upon more than a shared language. It also requires the implicit acknowledgement of a shared humanity.
I have found, in my 15+ years as a software developer, that my passion for technology is not universally shared among those whose lives and vocations have been transformed by the revolution of the last two decades. I have witnessed unease and anxiety among those who must, on a daily basis, employ tools they don’t understand in pursuit of their livelihood. I have learned to be sensitive to those who suffer from such afflictions.
As IT professionals, it is our responsibility to help bridge the chasm between the complex but familiar entanglements of human relationships and the rigid formalisms of the machines we are paid to instruct. Our clients look to us to make comprehensible the abstractions that are the currency of the 21st century. The measure of our success is the extent to which we succeed in doing so.