Este artículo también está disponible en español aquí
So this is my first non-technical, opinion post or shall we say essay. I’d like this to be an open space for debate so feel free to post comments as they’ll be greatly appreciated.
From a pragmatic standpoint we as an industry, Information Technology (IT), have the single purpose of creating tools to increase the production and efficiency of other client industries. This lays great power upon us as the potential to shift how a business performs, both operative and economically, is enormous. But let’s not forget “with great power comes great responsibility”, Stan Lee. So I want to argue that, in order to fulfill our purpose, we have the responsibility to first understand the business of those who we intend to support. However, this does not seem to be the main drive to what we do.
The easiest way to get started is probably through a metaphor, that illustrates how us programmers traditionally interact with the business:
A man in a hot air balloon is lost. He sees a man on the ground and reduces height to speak to him.
"Excuse me, can you tell me where I am?"
"You're in a hot air balloon hovering thirty feet above this field," comes the reply.
"You must be programmer," says the balloonist.
"I am," says the man, "How did you know?"
"Well," says the balloonist, "Everything you told me is technically correct, but it's no use to anyone."
"You must be in business," says the man.
"I am," says the balloonist, "How did you know?"
"Well," says the man, "You don't know where you are, you don't know where you're going, but you expect me to be able to help. You're in the same position you were before we met, but now, somehow, it's my fault."
This is how most interactions between us and the business take place: absolutely disrupted, unbeneficial for everybody involved, and completely wasting an enormous potential for innovation and value creation.
The story is about two men making several mistakes in how they relate: not being able to understand each others positions, neglecting to explain what they expect from each other, and missing the opportunity to collaborate into a common goal. We’ll call this the miscommunication symptom.
Over time miscommunication reduces the business’s confidence to trust us with their needs and erodes our credibility as solution enablers. We’ll call this the credibility erosion symptom.
These two symptoms are the main factors that prevent successful collaborations from happening. Of course there are other external factors, but we’ll limit the scope of our analysis to these two, diagnose them, and hopefully come up with a practical solution.
We directly contribute to the miscommunication symptom with the language we use, technical and precise to us, but confusing and without significance to the business. The cause of this symptom is the tendency to use precision instead of significance in our language.
I believe that language represents our perception of the world, how we see and understand it. Consequently, our understanding of the world models the way we think. And the way we think defines us, in both how we behave, and how we shape the things we do. After all “we are what we think”, Gautama Buddha.
It seems these two men see the world in different ways and they would behave very differently in that situation. Precision is very important for a great deal of things, but it’s not useful when relating to others. This is where precision becomes an obstacle because it conveys nothing, it isolates us, and it smothers communication with our audience. When relating to others “significance” is the key, is what people find useful, what has meaning, what is relevant, what has value, what solves a problem, what has a practical use in the real world, and what conveys something to our target audience.
However, significance is a very subjective concept, because it can dramatically vary between different audiences. The same concrete fact can be interpreted very differently, depending on how you relate to that fact and how it affects you. From the example, for a man standing under the falling heavy object, significance would be something like: “LOOK OUT!!”. On the other hand, to a man operating the crane that holds the heavy object, significance could be something more relevant like “PULL THAT BLUE LEVER!!”. Actually I’m not sure what colors are the levers on a crane but you get the point: Different actions need to be taken depending on how you relate to the fact, and “significance” considers that.
What this means is that significance is not spontaneous, it requires the skill to interpret the facts considering your target audience. This is called perspective, and by definition, perspective is about “the subjective evaluation of relative significance”, and “the relationship of aspects of a subject to each other and to a whole”. Each of this nuances of the term will help us address a symptom of the problem.
Perspective will helps us address the miscommunication symptom as it will allow us to translate precision into significance, relevant and adapted to our target audience so that it is easy to understand and most useful.
Perspective will also help us address the credibility erosion symptom as it will allow us to visualize our position and the business’s position as a whole, not disparate environments, but to understand it as a complete, complementary, collaborative, and organic whole. And in that broad vision of our role we can be more proactive and helpful, not becoming an obstacle but a part of the solution.
Perspective: A Personal Choice
The previous pictures are from a very interesting project by a German graphic designer at the Eureka Carpark in Melbourne, Australia. The idea is to present a visual navigational system that teases with perspective, creating the effect that directional signs appear to be floating in the middle of space. The relevant thing about it is that from up close you only see loose, skewed and inconsistent color lines with no apparent coherence. But it’s only from a certain distance and in the right angle, hence introducing perspective, that you understand what it’s all about.
I find it fascinating how art can present so accurately such a complex phenomenon, and use it as an argument to reveal a weakness of human perception. Oscar Wilde said it best: “Life imitates art far more than art imitates Life”. So in a way, our whole dilemma is exactly represented and explained by this art piece. Or is it the other way around? I don’t know, go ask Oscar.
So why I don’t call myself a programmer anymore? I’m not. Programming is just a very specific task within everything I do, it’s a very important task but not the only one. I also have to send emails but I don’t call myself “The Post Office” or something, you get the point. The problem with programming is that it gets too close to the detail, and at that level we fail to see the big picture. We just don’t get it. So naturally, the solutions and ideas that we have at that level of detail are not the best possible ones, and most certainly don’t apply to the other pieces of the whole. We fail to provide an integral solution.
Once I understood the potential benefits to be gained by introducing perspective into the equation and made that personal choice to change, I shifted to something else, something more broad in concept and understanding, I began to see the architecture.
But “Software Architect” is hardly a position you get promoted to, it’s a personal choice to assume a role, a mindset, a broader and more ambitious way of looking at things, that carries bigger responsibilities and compromises, but can also lead to great accomplishments. This is why we should all strive to be software architects. So follow my advice and do what I did, zoom out of detail and see the big picture, don’t be a programmer anymore, it’s up to you.