"Only one in ten students will ever hold the position of Design Engineer."
My favorite computer engineering professor, Dr. Yongmin Kim, was addressing my class in digital circuit design with this sobering statistic. His purpose was to help us be realistic about our chosen profession: although every one of us enjoyed the work of creating new computer programs and circuit designs, only a few of us would ever get to do it in our full-time jobs.[*]
Dr. Kim also helped us understand how demanding the work could really be: his notorious senior-year design courses were intentionally difficult. The words "severe" and "oppressive" often arose in their context. At the same time, those who really gave themselves into their projects learned a great deal about computer technology—and about themselves.
◊ ◊ ◊
At the University of Washington, when I attended, engineering hopefuls couldn't declare their intended major until their junior year. Instead, you spent your first two years as a pre-engineering student in the College of Arts and Sciences, taking all kinds of introductory engineering courses. Only when you fulfilled these requirements were you allowed to apply for entry into a specific department of the College of Engineering. If admitted, you then declared your engineering major; if not, you continued in the College of Arts and Sciences with a declared major in something else like Physics, Chemistry, or Mathematics.
Of course, each engineering department had fairly high admission standards for the simple reason that the quality of their graduates determined the department—s reputation and, to a very real extent, the size of their research grants. It was in their best interest to be picky and the Computer Engineering Department was no exception.
By the time we shared a classroom with professors like Dr. Kim, then, we had already come a long way. As a result, and despite his exhortations to the contrary, I think every one of us hoped to beat the odds. Doing the really important, creative work that goes into world-class technology was the greatest glory we could imagine for ourselves—none of us aspired to the relatively plentiful but presumably wretched jobs of testing, documentation, product support, and—God help us!—marketing. Yuuuugh.
I was especially determined. Throughout my upbringing it was expected that I would do important things—you know, become a multi-millionaire, win a Nobel Prize, make some world-changing discovery, that sort of thing. It was only natural: I had always been at or near the top of my class, I always got high scores on various aptitude and achievement tests, and one IQ assessment even pegged me at 160.[†] I was, in short, a hot-shot. I believed it, my parents believed it, and so did plenty of others. Therefore, I wasn't interested in Dr. Kim's warnings: I would be one of the elite. In fact, wasn't this already a foregone conclusion? After all, my Calculator program was going into the flagship product of what was rapidly becoming the crème de la crème of software companies! All I had to do was finish this little formality called "college" and my career as a design engineer would become a reality.
Toward this end, Bob Taniguchi suggested that I interview with Microsoft for a "real" summer internship. This was the next logical step for me. Unlike co-op students who did only the rather pedestrian work of answering the phones in Product Support, real interns did real software engineering on real Microsoft products, stuff that was usually far more critical to a product's success than something like my Calculator. For this reason, it was fairly easy for successful interns to get hired on permanently once they finished their studies.
Of course, this meant that Microsoft screened interns as stringently as they did full-timers. Like my engineering department, Microsoft was looking for hard-core applicants who were willing to undertake enormous challenges and full professional responsibility. And in those days especially, when Microsoft was trying to gain its first footholds in many different markets, they were very serious about hiring only the best and brightest. Thus developed the dreaded Microsoft Interview to find them.
Many companies, so I heard from fellow classmates, spent only an hour or two with full-time candidates asking about strengths, weaknesses, career goals, and other miscellaneous drivel. Sure, Microsoft occasionally asked some of these same things, but only as a prelude to as many as eight continuous hours of intense scrutiny. Hour after hour you were challenged with astoundingly difficult and unorthodox technical problems, devised over many years by the most creatively sinister minds in the company and carefully guarded as strategic corporate secrets. Under such pressure, your Inquisitors could observe how quickly you comprehend intricate procedures and could exhaustively probe your ability to solve even an apparently simple problem under a variety of real-world constraints.[‡]
To make it even more fun, each hour-long segment of the interview built on the sessions that preceded it. As soon you finished one session your interviewer took you to the lobby of the building in which your next interrogation would take place. While you had a few minutes to engage in some serious self-doubt about your performance thus far, the interviewer paid a visit to the office of your next exploratory surgeon to plot your further dissection. Then after you were safely escorted to the operating room, so to speak, the person who just finished giving you a once- or twice-over wrote up a detailed evaluation and emailed it to everyone else on the schedule. Knowing thus what had already been excavated in full, every subsequent session went even deeper into the marrow. In short, nobody needed to ask about your strengths and weakness—The Microsoft Interview made them all too apparent!
My own internship interview in November 1988 went on like this for an entire day; it made the worst of my final exams in college seem like a pop quiz. I was, so to speak, grilled, char-broiled, fried, and roasted one hour to the next.
This was literally true during lunch: my technoanalyst for that hour first asked me if I liked ethnic food.
"Well—I haven't really eaten much of it," I replied, remembering all the times I'd ordered American when my family went out for Chinese.
Ah ha! There was his opening. "How about Thai food?" he asked.
"Sounds fine to me!" I agreed, shakily. As much as I was a culinary xenophobe, how could I say otherwise?
We went to a restaurant that must have been called Fire of Siam or something like that. Correctly assuming I had never eaten Thai food before, my host issued a subtle challenge as we sat down. "I have a friend," he said, "Who's working up the spicy scale to 'five stars.' I think he's gotten to four". Well, with a comment like that I had to order a dish with at least two stars lest I look like a real sop. The beads of sweat that subsequently moistened my delicate 20-year-old complexion conclusively betrayed my lack of experience with Southeast Asian cuisine, yet they successfully demonstrated a willingness to take risks and brave the consequences!
Fortunately, none of my ordeal was in vain—I learned a short two days later that I had survived Microsoft's sacred initiation ceremony. I was in. Hooray! For the rest of my junior year, then, I sailed happily through my classes, feeling as proud as ever with my induction into the software aristocracy.
To fuel my pride even further, I was assigned to the group working on an ambitious project called Laser. Laser was intended to be the ultimate solution to workgroup communications—the product that Microsoft would use to pinpoint, with deadly accuracy, a hugely successful competitor called Lotus Notes (eventually bought by IBM). Because this project was so new and so important to Microsoft's overall corporate strategy at the time, my assignment was—so I was told—a very special and very important one.[§] Certainly it would provide ample opportunities for creative experimentation and true design work.
◊ ◊ ◊
Throughout the following summer my performance was excellent. I once again threw myself entirely into the project, giving the best I had to offer for the greater good. I ably solved every problem given to me with precision and efficiency, qualities that drew frequent compliments from my team lead. And as I grew ever more confident about my future as a design engineer, I couldn't help but feel that I was taking my first steps toward someday reaching the pinnacle of Microsoft's technical ladder: Software Architect. (This has since evolved into the titles Distinguished Engineer and Technical Fellow).
Yet I never once asked myself whether I should be climbing that ladder at all.
I knew, as described in Chapter One, that my place was Microsoft, so naturally I aspired to the most important technical role within the company. But was it what I really wanted, or what I really needed? It never occurred to me to ask these questions. In my pursuit of career success, I was doing what everyone else saw as "a good thing." And why not? The only alternative was life in the gutters of mediocrity, so to speak.
In our culture we recognize the ladder of material success. Imagine a drunkard who one day decides to leave the bottle and earn a million dollars. Would we not applaud him? A life of hard work and honest gain is infinitely preferable to mindless inebriation. Yet we also understand that a life of service or a life dedicated to high ideals is much more noble than one lived merely for personal profit. Seeking material gain in order to pull oneself off the streets is certainly a positive step—but to seek it when one has already found a higher calling? That's nothing short of a fall. Just imagine what the supermarket tabloids would say if someone like Mother Theresa, Mahatma Gandhi, or even a well-loved schoolteacher had gotten fed up with their work and opened a casino!
Life is about growth. It's about reaching upwards toward an ever-expanding vision of reality. But how this truth expresses itself for any one person is an entirely individual matter. Some need to learn how to work hard for themselves. Others need to transform such work into service. And some must learn to serve not just people, but also higher principles or even Truth itself.
At the time I was an intern I already knew how to earn money for myself. What I needed, personally, was to move up a notch and learn how to open my heart to the needs of others.
Certainly my co-op job in Developer Support helped me in this way—I learned things as deeply as I could for the benefit of those who called in for help. And although the work wasn't considered glamorous it had given me the deep inner satisfaction of the noble warrior who willingly takes heavy burdens upon himself to spare others the pain.
But things changed while I was first working with the Windows team and during my internship. My star-studded role as a "real" software design engineer working on "important" projects blinded me to the point where I pretty much forgot about expansive ideals of any kind. In my pride as a Big Important Person, and in my narrow focus on the technical problems I had to solve, I lost sight of the fact that engineering is first and foremost concerned with the needs of people. Those needs must be understood before an engineer can look for appropriate technological means to satisfy them. And by keeping the needs of others in mind, the work of engineering—and most other kinds of work, for that matter—can be a serviceful aid to one's own spiritual development. It's not the job, it's the attitude! What matters most is not what one does but the direction of one's energy in that activity.
At the end of my summer internship, then, I had this vague feeling that something was wrong. Yes, I had accomplished a great deal and had made a good name for myself as a programmer. But still—something wasn't quite right about how I'd done my work.
"Bah!" I said to myself. "What nonsense—I know what I'm doing!" Thrusting aside these feelings of mine, I re-affirmed that I was on the right track: I asked my managers if I could continue working part-time on the Laser project while I completed my degree. This was, to my knowledge, an unprecedented request. Yet they were willing to give it a try. I lived only a short distance from Microsoft and could easily come in when I had the time. In fact, my class schedule that fall left me entirely free on Tuesdays and Thursdays.
This special arrangement was a tremendous boon for me. Besides the added income, I got to keep my office and access to all its state-of-the-art equipment. I also got to stay in touch with professional software engineers. And because I could just slip into being a full-time employee after graduation I got to avoid all that agonizing career-search business (which was absorbing a good part of my classmates' energies) as well as another interview!
My real motivation, however, was fear. I was utterly afraid to let go of my privileged position, lest it drift away and never return. I had to hold on at all costs.
◊ ◊ ◊
For the next three months—the autumn quarter of 1989—my moderate course load allowed me several days of productive work at Microsoft each week. Everything seemed to be running along just fine. During winter quarter of early 1990, however, my load was dramatically increased by Dr. Kim's five-credit course on embedded computer systems design, EE478.
EE478 was a legend in dread: whereas a typical five-credit design class usually demanded about twenty hours a week for lecture, lab, and homework, EE478 demanded fifty. Combined with my other courses it brought my peak class load to nearly ninety hours a week. Still, I found the course exhilarating: the project I chose fired my energy and enthusiasm and quickly became my first priority and my greatest passion.
Needless to say, my presence at Microsoft declined sharply, down to the one day a week when I had no scheduled classes. For the rest of the time, Microsoft was condemned to roam amongst the shadows of my mind. As a result, I spent a fair amount of my one day in the office simply trying to remember what I had done the week before and catching up with everything my teammates had been doing. Even then I was constantly musing over my EE478 project—indeed, the very vibrations of Microsoft brought new inspirations for it! Worse yet—and this was a BIG mistake—I started bringing my project to work. First I began coming into my office at night because the computers there were way better than the dinosaurs at school or the one I had a home. Then I started bringing my prototype with me so I could perform lengthy tests while trying to do my assigned tasks on Laser.
Well, you can probably guess what happened: I accomplished next to nothing as far as Microsoft was concerned. And what I did get done I didn't do well. Several times I carelessly checked faulty code into our project just because I wanted to get it over with before leaving for another week. When the project couldn't be built, it delayed everyone else on the team. My development lead scolded me for my negligence and my office was the frequent home for our booby-prize "Bug of the Week" plaque that had this hideous purple rubber monster (named Slimer) attached to the front. I had to spend many precious nighttime hours coming in to correct my mistakes.
I really tried hard to do better. Yet more and more I found myself nearly incapable of giving Microsoft the energy and discipline that professional software engineering requires. For reasons I just couldn't comprehend, my mind refused to think about my Microsoft responsibilities, concentrating almost entirely on my EE478 project instead.
From a higher perspective, however, it's clear what was truly happening. My being at Microsoft was wholly selfish: I was there only to protect my position as a design engineer and to stand aloof from other students who were deep into their job searches. My work in EE478, on the other hand, was completely different: I was working with a local school for the developmentally disabled to create a special device for their patients and staff.[**] In this my motives were completely pure. Indeed, it was the first time in my life that I'd really done anything resembling altruism.
Simply said, my self-serving attitude at Microsoft caused my heart to close and constrict. The opposite attitude toward my project in EE478 caused my heart to open and expand. Knowing which attitude would help me grow, the Universe conspired to flood my mind with those thoughts and inspirations that would lead me upward and resolutely shut out those that would keep me down. Whenever I tried to focus on my ego-motivated work at Microsoft, I expended nearly all my energy simply trying to resist this upward flow. Not much was left for technical tasks.
When EE478 finally ended and my spring quarter classes began, I still clung determinedly to my position at Microsoft, seeking to redeem myself with renewed effort. But the opposing tide was just too strong: though I had more time to give to Microsoft, my ability to concentrate continued to elude me throughout the term. Eventually my group managers had to seriously rethink my future with them. Although I had proven myself a competent engineer the previous summer and was even slated to fill one of the available full-time positions on the project, it was obvious that something had shifted. On one level they could clearly see that I wasn't the right person for the project. On a more intuitive level they probably understood that the project—and the nature of the work itself—wasn't right for me either.
Thus at the beginning of the summer quarter, during which I was finishing up the last few classes I needed to graduate (the ones I'd missed during my co-op experience), they let me go. And with this my future as a big important software design engineer was over—not only with them but within Microsoft as a whole, for they couldn't rightly recommend me for the same kind of job elsewhere in the company. To my managers' regret as much as my own, I would just have to find some other position, if I was to even stay with Microsoft at all.
I was simply devastated—not so much by the decision itself but by what I considered to be the single greatest personal failure of my life. It was worse than the spelling test I flunked in second grade. It was worse than the linear algebra test I totally bombed in college. It was even worse than failing my first driver's license test in high school. For added to my failure was a shattered dream and the agony of being denied something so precious when I had come so close to having it for good.
Yet I wouldn't trade the experience for anything in the world. Having been stripped of self-importance, I had to stop defining myself in terms of some label and its attendant rewards. No longer in a position to demand, I was given the chance to think in terms of what I could offer. And this one critical shift—this one fundamental change in my consciousness—opened up new opportunities that would carry me forward—on a path that led me once more into product support and yes—Lord have mercy!—even into marketing.
[*] After being at Microsoft for a time, I discovered that there are many equally if not more fulfilling roles in the work of engineering, most of which seldom come to the attention of students in an academic context. [Return to text]
[†] I have little faith in the results of IQ tests; some of the most so-called "brilliant" people are also some of the most unbalanced. There's much more to being a successful person than scoring well on what are clearly one-dimensional tests. [Return to text]
[‡] Examples of such conditions included having (a) a computer with no memory but a very fast microprocessor, (b) a computer with a really slow processor but gobs of memory, and (c) a slow computer with very little memory but a nearly infinite hard drive, combined with the goal of (1) make the program as small as possible, (2) make the program as fast as possible, or (3) get the program working as soon as possible. An interesting book on similar but non-technical aspects of Microsoft interviews is How Would You Move Mount Fuji? by William Poundstone. [Return to text]
[§] Which was, I think, what interns were told about every assignment. "Microsoft's most important project," in fact, is always the one you are working on. Microsoft discovered long ago that internal rivalry is far better than envy. Laser is the project I mentioned in Chapter Two that eventually crumbled into the much simpler form of Microsoft Mail, then gradually built up into Exchange and Outlook. [Return to text]
[**] The device was a palm-sized timer module that plugged directly into a wall outlet and generated an audible signal at random intervals within a preset range. The staff used this signal to check up on patients and evaluate the efficacy of treatments. A random interval was necessary because even the most mentally disabled patients would eventually learn the duration of a fixed interval to the point where they would behave one way for most of the time, then almost instantly settle down into a different behavior just before the monitor came to check up on them. [Return to text]