Professionally, I grew up in the world of technology.
Despite the aura and glamour it has, it's really a "black and white" world: your code either compiles or it does not; the syntax is either right or wrong; the API either scales or fails. Quite literally, a binary world where decision-making is rule-driven for the most part and outcomes are largely predictable.
I therefore found myself wanting as I grew beyond a pure technical role and entered the realm of decision-making driven by humans and human semantics rather than by syntax and design semantics.
I found myself as overwhelmed as I was mesmerized by the hues, tints, tones and shades of all colours, including gray that define the non-technical, non-binary world. The influence of the human element in decision-making was far too real and far too significant not to recognize and not to accept.
One of my first lessons - and indeed my first step in my "upgrade to colour" - was when I switched from an engineering role in India to a pre-sales role in the Valley.
My first pre-sales assignment was with a prospect - a Valley startup - that wanted to "port their Python code-base to Java". The company had a location-based product that was delivered through a traditional web portal, mobile web and a mobile application.
In response, we went "well-prepared" - corporate deck, relevant case studies, execution methodology, what-have-you.
It was a 90-minute meeting with the CTO (who had just come on-board) and his 7-member engineering team.
The meeting exploded in our faces.
The porting project had a stillbirth – both, because of us as well as for reasons beyond our control and beyond our meeting.
As I reflected upon that meeting, I distilled out two important lessons:
Despite the aura and glamour it has, it's really a "black and white" world: your code either compiles or it does not; the syntax is either right or wrong; the API either scales or fails. Quite literally, a binary world where decision-making is rule-driven for the most part and outcomes are largely predictable.
I therefore found myself wanting as I grew beyond a pure technical role and entered the realm of decision-making driven by humans and human semantics rather than by syntax and design semantics.
I found myself as overwhelmed as I was mesmerized by the hues, tints, tones and shades of all colours, including gray that define the non-technical, non-binary world. The influence of the human element in decision-making was far too real and far too significant not to recognize and not to accept.
One of my first lessons - and indeed my first step in my "upgrade to colour" - was when I switched from an engineering role in India to a pre-sales role in the Valley.
My first pre-sales assignment was with a prospect - a Valley startup - that wanted to "port their Python code-base to Java". The company had a location-based product that was delivered through a traditional web portal, mobile web and a mobile application.
In response, we went "well-prepared" - corporate deck, relevant case studies, execution methodology, what-have-you.
It was a 90-minute meeting with the CTO (who had just come on-board) and his 7-member engineering team.
The meeting exploded in our faces.
The porting project had a stillbirth – both, because of us as well as for reasons beyond our control and beyond our meeting.
As I reflected upon that meeting, I distilled out two important lessons:
- Business, political and human considerations and compulsions rule over and overrule everything else: it was a new CTO who had mooted the idea of the porting to Java without fully bringing on board, his engineering team – an all-Python team including an author of a book on Python! To make matters worse, the team was never too kicked about outsourcing. Last but not the least, the business didn't see anything "broken" (with the Python platform) that needed to be "fixed" (with Java). Needless to say, we were seen by the team as the villains roped in by the new CTO to do his dirty work. The technical merits of Java vis-à-vis Python and vice-versa never even figured in our discussions.
I have learnt and re-learnt with many a junior team-member that this is the most important lesson and the rudest awakening for the software engineer that believes that technology is supreme. More importantly, countless more fail to learn this lesson. - Don’t assume you know enough to make assumptions – we knew a lot about the company through direct information and research, but assumed we knew enough to make assumptions. We assumed that the decision to port had been carefully considered and thought-through from technical and non-technical angles. We assumed the team was on-board. We assumed "outsource" meant "offshore".
We assumed we were making safe assumptions.
We made assumptions.
Her famous child followed.
As I moved not just beyond a technical role, but indeed beyond the world of technology, the hues, shades and tints came into greater play. Be it the wily business associate you have to deal with, or the shy employee you're trying to groom or the hopelessly suspicious colleague who wants to randomly verify Excel calculations on his 12-digit super-reliable Casio calculator or the weird wisdom of todays' court verdicts or the inexplicable non-alignment of your priorities with your wife's or the "timely" tantrum your 5-year-old will throw.
The possible outcomes are rarely binary and the only predictability is in the unpredictability.
My upgrade to colour continues and is perpetually incomplete, but the two lessons I learnt from my first pre-sales meeting are keepers.
(Based on an article I originally wrote for a portal run by a friend of mine which has since wound up)