Sunday, September 22, 2019

A Lesson from 10 years of 'Experience'

A few weeks backs back, I had just finished integrating 47 modules of varying complexity into a file which already had excess of 10000 lines.. It then struck me - "This is something that I probably would haven't able been to do 10 years back', and then I wondered... 'How exactly have I grown in the last ten years that made this possible?'

Rewind 6 years. I was in a different company, and had been asked to add several new features to an existing portion of a design. The problem - The original designer wasn't with the company anymore. No documentation was available. No one had the slightest idea about this part of the design, except that it would need changes to support the new requirements. Though it wasn't then verbally made explicit, I first needed to figure out what the sub-design was doing before I could work out the changes that needed to be done.

I glanced through the code, and quickly figured out that it wasn't doing anything particularly complex algorithmically. There was no advanced math or signal processing involved. I then realized the problem - The sub-design generated 600 outputs. This was exactly the sort of thing I had avoided all along. I enjoyed figuring out complex code, but tried to avoid anything tedious and cumbersome, until of course, that point.

The saving grace was that at that moment, I made a decision that I was going to slog through this thing, and figure out what the code was doing. I decided that I had resisted and somehow escaped this sort of work long enough, and this task had finally presented itself to me with no opportunity for escape. No one knew any more than I did, nor was there anyone to validate my work once I would be done.

Somehow I overcame my mental resistance to the task before me, and oriented myself to viewing it as a growth opportunity, cliched as it sounds as I write this now ;)

I started back-tracing the very first of the 600 outputs. It was derived from 4 variables. The first of those 4 was derived from 6 other variables. This is normally where I would have got frustrated, but I had taken a mental stand and I stuck to it. I told myself  'I am going to trace this one output to its source - what is the relationship between the inputs, and this one output?'. Much like a ball of thread where everything is entagled and in knots, and you're never sure you are unentangling it right, since there is so much mess in the beginning that it seems hopeless.

So as I backtraced the first of those 6 variables in level 2, I was mentally aware that there were 3 other variables in level 1 that I needed to return to. I decided to not worry about them for the moment. All these things seem trivial as I say them now, but it certainly wasn't easy for me then.Knowing that I am working on a tiny tiny piece of a puzzle, and that there is so much more to go.

At the end of two weeks, I successfully completed the task.. On day 6, I had identified a pattern of relationships between how certain inputs influenced certain outputs. Once this pattern had revealed itself to me, it gave me enough clues to decode the rest. And once I had understood everything in detail, the changes were relatively straightforward.  And then it dawned upon me- "That tine tiny piece of the puzzle that I was working on - it was super tiny alright, but solving that super tiny thing gave me confidence to tackle the next super tiny piece. Indeed in those two weeks, I had had a year's worth of growth.

And once I was done, and informed my boss, he just said 'Great, you can move on to this other thing'. No one reviewed my work. It was probably indirectly exercised while verifying the new features. Until that point, I had always had someone cross-check my work; a safety-net was always available to 'save me' in case I had messed up something. But not that time.

Looking back, embarking on that task alone(with no support) was an important milestone. I hadn't accomplished it because of technical expertise or anything of that sort. I had merely kept pushing forward on the one thing that seemed to make the most sense for me to look at in that moment. There had been tonnes of back and forth before I finally figured out the pattern. I had to overcome mental resistance, raise my mental stamina, dive in, and grind it out alone.

And I remember thinking about this analogy that had come to my mind -' It's like entering a swamp and you need to get to the other side. It's overwhelming. There's nothing to hold on to or anyone else to share the responsibility/problems with, in case some crazy animal leaps out. No one to validate that your route to the other side of the swamp is 'correct'.  The question was 'How far will you wade into the swamp, knowing that no one can pull you out?'. A true professional is merely willing to wade deeper into the swamp  knowing that he/she will eventually figure it out and emerge on the other side. Willing to wade deeper even when one is already neck deep. Willing to tolerate a higher level of uncertainty, and trusting in themselves. '

Indeed most of my growth has not come from higher exposure to the domain or increased ability- It has come from greater self-trust.

More recently, about a year or so back, I came across this framework, that I really like and wanted to share here.. It is a framework that captures the factors that makes one a great prospective candidate for a job . It's called the A3E2 model, and it has 5 parameters 

1) Ability - Is the candidate capable ?
2) Agility - is the candidate agile ? keeps moving forward ?
3) Aspiration - does the candidate have ambitions to grow ?
4) Engagement -  Is the candidate focussed or is 'all over the place' ?
5) Emotional intelligence - you know this one :) 

When I first saw this list, one word jumped out me - Agility.

My greatest growth had come from increased agility, not from increased ability.

Sure, I had 'wanted' to grow by becoming 10X smarter. That is the way I wished to meet my need for significance. Sure, there was lots of room for me to grow smarter, but that wasn't my true bottleneck. By conquering something else, I was able to gain much more leverage.

I like to think of these factors as multiplying with one another- If you are already a 9/10 in some factor, you can only improve by about 10%. Instead pick a factor where you are a 6, and work on getting to 8.

And I had learnt the lesson. There will come a time in your life/work when you will encounter a problem that you cannot solve with merely your ability/intelligence/talent/skill. Until we gain awareness on what our true bottleneck is, and work on expanding in that dimension, we will continue to remain stuck.

Over to you. Do you think you are mostly limited by your skill ? If everyone around you says otherwise, introspect or ask for feedback and figure out whether there is another dimension that you need to look at.

No comments: