When I interviewed for my job at Google, I got asked all the usual questions about data structures, and whiteboard coding. I even got slammed with one of those old-school brain teasers straight out of How Would You Move Mount Fuji?. But six years later, one question stands out above all the others I was asked that day.
My interviewer was a wise and witty brit named Simon, who would become my first manager at Google. Here’s what he asked me: “How would you explain cloud computing to your grandmother?”.
The genius of this question is that it gets straight to the heart of your ability to step outside of yourself, and into the shoes of someone who might be working from a much lower knowledge base. Some say that Grandmasters make poor chess teachers for this reason - they are so skilled, and have internalized such a deep sense of understanding about the game, that they’re unable to convey much to inexperienced players.
In many ways, this question was a wonderful test of my ability to explain things to other people, which happened to be a very important requirement for the job to which I had applied. I paused a moment to gather my thoughts and ventured my first attempt: “The cloud…”, I began, brimming with confidence, “is a vast collection of servers providing…”.
“Hang on a minute”, interrupted my inquisitor. Do you think your grandmother knows what a server is?“.
He had me there. For my grandmother, a server is a person who takes someone’s order in a restaurant (which is not a bad metaphor for an API but that’s another article). In only the seventh word of my first try, I had already resorted to industry jargon.
I tried again…“The Cloud”, said I, in a voice beginning to tremble as I grasped the full magnitude of this challenge, “is a vast array of computers (carefully avoiding the S word), configured in such a way as to carry out customer demands in a central location”.
He didn’t have to say anything. We both knew I had just missed again, wildly. It began to dawn on me that job interviews are a bit like baseball. After three misses, you’re done.
I paused once more for what felt like an eternity and then a lightbulb went on.
“Grandma,” I started anew, “you know how we plug appliances into the wall to make them run? Well, cloud computing is just like that, except instead of electricity, we get information”.
“Ok”, said my inquisitor. “But where does this information come from?”.
With a knowing smile I replied “That’s the cool thing about it, Grandma! You know how we don’t need our own generator because we get all the electricity we want from the electric company? Well, we don’t need to have our own computers either because we can get all the information we want from another kind of company. That’s basically what Google and Microsoft and Facebook and are: information companies. And just as we have a “power grid” for storing and distributing electricity around the nation, the cloud is a kind of “information grid”. In fact, I think Information Grid would be a better name for it.”
My faux Grandma smiled at me in the same way my real Grandma used to do, when she was happy with something I’d said. And then she turned back into a Google engineer and forced me to do something tedious with a linked list.
Postscript: With the benefit of hindsight, I feel that the formulation of the central question above embodies a certain form of sexism and agism, in that it assumes my grandmother is not a cloud computing expert of the highest order. For all you know, my grandmother might have been Grace Hopper, who pretty much invented modern programming languages (if you don’t know who Grace Hopper was, you can read all about her here and watch her demonstrate a nanosecond to David Letterman here). To eschew such bias, from this point forward, I’m using the slightly modified version “How would you explain cloud computing to a five year old?”.