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.