Thank you much. Sorry for the wall of text, but you got me going!
I had been living and working in California, and found myself at the
crest of the dot-com wave of the late 90's and early '00s. But
post-SICP, I _had_ to dig deeper.
I didn't feel prepared for the schools I wanted to apply to: Berkeley
& Stanford. I am totally self-taught, and not having taken an exam in
any CS subjects, the subject GRE was a huge mental barrier. So I
applied to the Univ. of Cambridge in the UK.
That was a miscalculation. I was expecting to sit through a number of courses before figuring out what I
wanted -- the US model -- but no, I was thrown into the deep-end right
away, as an independent researcher. In my earlier life, I'd prided myself in knowing a whole
lot of stuff just by building things in my own time (a TCP-IP stack
from scratch, a Java compiler etc). But at Cambridge, I was told the "Dragon Book" (Compilers, by
Aho, Ullman and Sethi) was so 1970's! I can't tell you how inadequate and how unprepared I felt.
In just the areas I was interested in (PL, concurrency, distributed
systems), I was surrounded by researchers (at the cs dept and the
microsoft research lab in the adjoining building) who _defined_
world-class. Robin Milner working on Distributed Pi Calculus, Tony Hoare on
separation logic, Simon Peyton Jones on Haskell and type systems, Alan
Mycroft, Jon Crowcroft advising the creation of the Raspberry Pi, Ian
Pratt and Steven Hand on the Xen hypervisor, Peter Sewell on
a rigorous (machine-checked) definition of systems and protocols.
But me, I didn't understand any of it, at least in the first year! I had never read a non-systems
paper in my life; I didn't know the meaning of academic rigor. Those four years
were the hardest of my life. Age was a factor. There was a
distinct difference in stamina. Later I discovered that it was more
fear that stymied my progress. I used to love math in my younger days,
but I realized that lately, I was putting the more formal books back
on the shelf "to get back to later". In contrast, Younger kids (and particularly the
ultra-bright ones who land up at Cambridge) had no such fear at all
because their formative math education had been top-notch.
On the other hand, my age served me well elsewhere. I had money, I was
happily married (and still am, thank you!), so half my brain wasn't
stuck on relationship issues. I didn't have to impress my peers with
my ability to drink. I could travel freely to
conferences on my own dime. I could quit any time (or so I told myself; I'd
probably have regretted it if I had quit). It helped that we didn't have kids and that my wife was immensely supportive. There was another "mature" student also with the same background and outlook as me who'd sold his company for a few tens of millions (he was on the original Pentium design team!) and come in search of knowledge. He had two kids. He had a tougher time than I did not because of his family, because of the choice of his subject (quantum computing). But ultimately, he too has done well from himself.
Any how, I knew all along I would be very glad when the program ended, on two different axes. First, that the hard period was behind
me. Second, that all this learning would fundamentally change me. I'm
happy to say it did. I'm happy to report that I fared well -- my dissertation
was nominated for a British Computer Society dissertation
award. Privately, I felt I was trained
just well enough to _start_ a PhD program. That imposter syndrome never
left me! I have met many many PhDs who have felt that. I wish someone
had counseled me on it.
I'll leave you with this. The amount I learnt makes my toes curl with
pleasure. Then there's the meta-learning. When you
spend so much time reading papers and rigorous arguments, you begin to
have confidence in reading a paper completely beyond your ken, and
getting to its essence. That's the real value.
Thank you so much for the detailed answer! Such an inspiring story and told with such humbleness. You are inspiring.
Your note on "fear" holding you back rings a bell. As I have aged (and I have not aged that much!) I have noticed the same. And I feel like it gets worse every year. I haven't found a better solution than just jumping in outside my comfort zones, but alas, this is so hard that I find myself barely doing it.
But people like you remind me that it can be done! And this is very important because knowing that someone else did it cancels some portion of that internal discourse of "You can't do it.".
Such a detailed answer. Thank you. Unlike you, I registered for an MRes. (Masters in Research) degree at a UK but found that due to lack of taught courses I couldn’t plug the holes in my mathematical foundations. For the very few courses that were taught, quality of teaching was also an issue which presumably wouldn’t be the case at a university like Cambridge. Even though I finished with honours, I am still left with the nagging feeling that I didn’t get what I wanted out of my effort.
Quality of teaching is a problem everywhere. Universities reward researchers, not teachers. There are very few who dedicate themselves to quality teaching. Also there didn't seem to be any courses at Cambridge geared towards grad studies (or remedial education, which is what I wanted, lol). The undergrad courses were themselves much tougher compared to their US counterparts and very math-oriented.
I recall sitting through a denotational semantics course and the students (all of 18 years old) were asking apparently relevant questions, and the prof (Glynn Wynskel) would say, 'that's a good question'. And I'm sitting at the back of the class awed at this spectacle! I'm wondering what was in this kid's background that prepared him better than me for this course. I have written a compiler, dammit, and I have 20 years of experience. The odds are that I should have heard something in those 20 years that left me marginally better prepared. But no. Here I am, understanding neither the question nor the answer!
It is only in my third year that it clicked. It was just a resistance to formal math, a resistance I had no idea I had. Once I got over it, and I was able to treat math notation as a compact way of writing it out, I started having a good time.
I have a suspicion that quality teaching alone would not have solved your nagging feeling. You need soak time. I am convinced that the 1-year masters programs in the UK (and increasingly so in the US) are a scam. They are only good for the uni to make money, but the students are shafted.
Wonderful narrative - thank you for writing this. It's close enough to my experience to ring many bells, but different enough that it was excellent to read.
I did Part III in '83/84 and a PhD in DPMMS from '84 to '87, and having come in to the Cambridge system from outside, I was way out of my depth. The amount I learned was quite unbelievable.
If you'd like to connect and share experiences, by contact details are in my profile.
Your story should be more than a comment on HN. Write a blog about it. How was the first week ? What subject did you have to learn and were the hardest ? etc i think people here probably have hundreds of question.
I've been thinking about starting a blog (in my dotage!) on distributed and concurrent systems. Perhaps I'll include a side-piece on this experience, for people who are considering a PhD in their "adult" years! Thanks for the prod.
Me third, I would definitely want to read more about your motivation to pursue a PhD. I guess from where I'm at today I don't see the point in pursuing one, but your comments definitely sparked my curiosity!
Oh, Cambridge was not a backup option by any means. It is just that they didn't have the subject GRE constraint, which made it one step easier to apply.
As for applying without an undergrad, I was able to parlay my industry work as relevant, because I was applying to the systems group. I'd have had far less trouble if I had just stuck to systems. I would have had to brush up on algorithms and statistics and control systems, and I would have been set.
But noooo, that would have been too easy!!
I found my attention drifting to programming languages, and then I was on totally thin ice.
I had been living and working in California, and found myself at the crest of the dot-com wave of the late 90's and early '00s. But post-SICP, I _had_ to dig deeper.
I didn't feel prepared for the schools I wanted to apply to: Berkeley & Stanford. I am totally self-taught, and not having taken an exam in any CS subjects, the subject GRE was a huge mental barrier. So I applied to the Univ. of Cambridge in the UK.
That was a miscalculation. I was expecting to sit through a number of courses before figuring out what I wanted -- the US model -- but no, I was thrown into the deep-end right away, as an independent researcher. In my earlier life, I'd prided myself in knowing a whole lot of stuff just by building things in my own time (a TCP-IP stack from scratch, a Java compiler etc). But at Cambridge, I was told the "Dragon Book" (Compilers, by Aho, Ullman and Sethi) was so 1970's! I can't tell you how inadequate and how unprepared I felt.
In just the areas I was interested in (PL, concurrency, distributed systems), I was surrounded by researchers (at the cs dept and the microsoft research lab in the adjoining building) who _defined_ world-class. Robin Milner working on Distributed Pi Calculus, Tony Hoare on separation logic, Simon Peyton Jones on Haskell and type systems, Alan Mycroft, Jon Crowcroft advising the creation of the Raspberry Pi, Ian Pratt and Steven Hand on the Xen hypervisor, Peter Sewell on a rigorous (machine-checked) definition of systems and protocols.
But me, I didn't understand any of it, at least in the first year! I had never read a non-systems paper in my life; I didn't know the meaning of academic rigor. Those four years were the hardest of my life. Age was a factor. There was a distinct difference in stamina. Later I discovered that it was more fear that stymied my progress. I used to love math in my younger days, but I realized that lately, I was putting the more formal books back on the shelf "to get back to later". In contrast, Younger kids (and particularly the ultra-bright ones who land up at Cambridge) had no such fear at all because their formative math education had been top-notch.
On the other hand, my age served me well elsewhere. I had money, I was happily married (and still am, thank you!), so half my brain wasn't stuck on relationship issues. I didn't have to impress my peers with my ability to drink. I could travel freely to conferences on my own dime. I could quit any time (or so I told myself; I'd probably have regretted it if I had quit). It helped that we didn't have kids and that my wife was immensely supportive. There was another "mature" student also with the same background and outlook as me who'd sold his company for a few tens of millions (he was on the original Pentium design team!) and come in search of knowledge. He had two kids. He had a tougher time than I did not because of his family, because of the choice of his subject (quantum computing). But ultimately, he too has done well from himself.
Any how, I knew all along I would be very glad when the program ended, on two different axes. First, that the hard period was behind me. Second, that all this learning would fundamentally change me. I'm happy to say it did. I'm happy to report that I fared well -- my dissertation was nominated for a British Computer Society dissertation award. Privately, I felt I was trained just well enough to _start_ a PhD program. That imposter syndrome never left me! I have met many many PhDs who have felt that. I wish someone had counseled me on it.
I'll leave you with this. The amount I learnt makes my toes curl with pleasure. Then there's the meta-learning. When you spend so much time reading papers and rigorous arguments, you begin to have confidence in reading a paper completely beyond your ken, and getting to its essence. That's the real value.