At one of my former employers, there was a titanic attempt to build a new form of storage replication. And the team was under excruciating time pressure. One of the architects, we will call him Jim, objected, but could not sufficiently articulate his position. The other architect, John, pressed for time, came up with what appeared to be a reasonable solution.
100 million dollars of NRE later, we had to throw out the solution because it didn’t work.
Why?
Because it turns out Joe was right. The approach didn’t correctly account for a particular property of how WAFL worked that was unique to file-systems.
Joe was saying that if someone were to take advantage of that property in the future, the proposed scheme would not work. At the time Joe was making that case, no one could imagine such a thing. By the time John’s proposal was about to ship, the thing had been invented.
In short, John’s proposal worked in all cases but 1, and that 1 case turned out to be a massively important piece of technology.
So what went wrong?
Engineers are told, “you have to be good at communicating.” In other words, you have to be good at explaining your idea, selling your idea, and selling yourself. And there is a lot of merit to that.
But – and it’s a big but – I believe that there are moments where we have insight but cannot communicate. The bigger skill is listening, especially when the person providing the feedback can’t explain their intuition.
That experience of that project has been seminal in my life. And since then, whenever I try something on an old codebase, and those with intuition and experience look at me funny and can’t explain their intuition, I refuse to make progress until I can explain their intuition to myself and others. And only then do I move forward.
Most recently, this happened at VMware. One of the trickiest and thorniest issues in virtual machine management is the identity of a virtual machine. When I joined, I started an effort to come up with a globally unique and durable identifier. A senior engineer warned me that this wouldn’t work, and it would make some other systems impossible to implement. So we spent multi-hour days going over his intuition, the implication of his intuition, and the details around that intuition.
And he was right, and we decided to pursue a different strategy that gave us durability and locally unique identifiers.
Why do I bring this up? Because I sat in a meeting today, where thank goodness I had listened to him all that time ago. If I had not, we could not implement the new thing we wanted to.
Communication is a great weapon. But listening is a great tool. Are they both equally important? I think you can get to a certain level of professional growth through great communication and a modest ability to listen. But to get to the pinnacle of professional leadership requires listening and understanding even when others are struggling to communicate.
Leave a Reply