In the fall of my senior year at Harvard, I was sure I wanted to get a graduate degree either in my major, history, or the field I'd pursued for fun, computer science. I concluded I was more likely to make a difference in the world if I pursued computer science. So I applied to the Ph.D. programs at, as I recall, four top computer science schools in the U.S.: Harvard, Stanford, Berkeley, and Brown.
As senior year progressed, I was taking advanced courses in computer science and getting A’s (duly reported in my transcripts to the schools). I scored very high on the GRE’s. From where I sat, any grad school with vision would understand my choice of history as a major and see from my grades and GRE’s that I was highly skilled at computer science.
I was very surprised that not one school accepted me. I wondered what went wrong. I wrote to the chair of Computer Science at Brown asking if there was something I could have done to improve my chances. He sent me a gracious reply, saying that I was "very close" but I needed a few more math classes on my transcript to give them confidence I could do good graduate work.
That left me with the immediate problem of finding a job. My graduating year was during the Reagan recession, and I had classmates literally plastering their walls with rejection letters. I landed a job with a startup firm in Newton, but soon realized that it was not going to let me grow intellectually. Then, through my roommates, I got a job at Raytheon BBN Technologies (at Fresh Pond in Cambridge) helping them with this thing they called "the Internet" that they'd just turned on for the Department of Defense.
The job was great fun. There were hard intellectual problems almost every week that needed solving. My employer also paid tuition for one course a year at a local university, so for two successive spring semesters I took a math course at Harvard. Two years after college, I was ready to try for graduate school again in computer science. This time I had the math, knew what I wanted to study in computer science (networking), and knew how to do research (having done it at Raytheon BBN for two years).
Then some luck intervened. Harvard created a part-time Master’s of Science program in computer science. I could keep doing research at work and get a Master’s degree (with tuition assistance from my employer!). Three years later, as I was finishing my Master’s, my thesis advisor said, "You know, if you just go to the department office, you can file a form and switch to the Ph.D. program." So I did and a few years later got my Ph.D. (still studying part-time).
There's a temptation to see this story as a straightforward illustration that rejections aren't always permanent. That's certainly true. I received the Ph.D. in computer science from one of the schools I originally applied to. But I also want to point out the benefits of the path. I would have been a very different Ph.D. student but for my time in the work force – indeed, I ended up doing my Ph.D. thesis on computer networking, a field that really didn't exist when I originally applied for Ph.D. programs.