In February of 2013 I entered the Recurse Center (RC) and have remained active in its alumn community ever since. I am fifty-four and this has been one of the most fruitful associations of my life. Now people often ask me questions about RC — here are some of those that I have heard less often than others and that I think may interest people considering application to RC:
What has the difference been for you between being at RC and coding/learning on your own?
RC has given me code review, pairing, stimulation in unexpected ways, and a network of extraordinary people. All four of those items are pretty hard to set up for oneself outside of the environment cultivated by RC.
How has coding been connected to your non-coding life or interests?
In my sinological research, which remains my most abiding passion even though I no longer make a living from it, I have used my coding skills to speed tasks that would have been impossibly tedious if I’d attempted them manually. Those research projects have included:
a. Taiwanese cantillation, manually transcribed with music-notation software, from which XML can be output and then analyzed programmatically.
b. (In collaborative work with a mathematician) using Chernoff bounds to estimate the probability that
prosodic behavior in medieval Chinese poetry is the result of random choice of word-tones, and
a certain medieval prosodic effect is observed by chance in Chinese poetry written 500 years earlier.
c. A dictionary project organized using a database and Python code, and typeset in programmatically-generated LaTeX.
All of these are basically rudimentary applications of coding skill, and would not be of theoretical interest to people with minds inclined to the abstractions of computer science.
I have begun one project developing an idea I learned from theoretical computer science: a Classical Chinese grammar project that circumvents Chomsky’s argument about the need for transformational principles. I presented it at a programming conference and it represents new research territory for me — something I hope I am able to develop much more fully as my other obligations recede.
I hope to make the teaching of programming into the mainstay of my coding career, and I have found a number of the practices customary among programmers very useful to my own learning and to my study of how to teach programming:
a. blogging about things that interest me,
b. collecting miscellaneous notes (exposed on a public repository),
c. giving lightning talks,
d. mentoring junior coders, and
e. preparing finished slides to illustrate things for instruction.
What did you find set you most apart from most other RC people?
In my first batch I was around twice the age of the average person — I was fifty, and the average age of the rest of my batch was, I think, twenty-six or so. I’m pretty sure I was the oldest person ever to enter RC up to that time.
I was also a mid-life “career-changer”. I put it in quotes because I don’t like the term — it means that I had already had a full first career in a field totally unrelated to programming or peripheral subjects such as math, physics, or formal logic. I believe I was the only such batchling up to that time who was also a very inexperienced programmer.
How did you deal with that?
I kept my head somewhat down about both my age and my past career, although my pedantic academic ways are hard to conceal for long. But my fellow batchlings were welcoming and tolerant, and have remained so.
But neither they nor RC were aware at first of the difficulties that mid-life career-changers generally encounter when trying to enter the tech industry. Overall, I find it an intrusion into my own space when a younger person, meaning well in every sense of that phrase, expresses regret about the prevalence of ageism in tech. Then again, my own reactions to various ways of life and outlook that I’ve encountered among the young are perhaps “ageist”, too. Having realized the need to face that error, I’m not in a position to complain about how the young view me and my situation.
Did you always think you were a fit for RC?
Initially I wasn’t sure, but a friend who was informally mentoring me urged me to try, so I submitted the best application I thought I could and then just put it out of my mind.
Well, I guess, with one exception. There is a certain kind of intellectual aggressiveness exhibited by some programmers with strong backgrounds in mathematics or computer science theory. While engineering aggressiveness is normally avoided at RC, and indeed the social rules are designed to eliminate much of it, this one variety is likely to persist because it is a source of innocent pleasure for an important subset of the community’s members. (I do mean that it is innocent — I am not talking about the obstreperous way a gaggle of male engineers sometimes behaves.) The many batchlings who are uncomfortable with these fields will just have to deal with the situation, as I have. But there is a mild antidote I can recommend for people experiencing that discomfort.
Let me digress briefly but with purpose. There is an Amazon review by a well-known computer scientist who says that people who don’t like Sussman and Abelson’s Structure and Interpretation of Computer Programs (SICP) are — I paraphrase — lazy thinkers. In reality, getting through SICP requires a lot of abstract thinking of a particular kind. Programming was once the private playground of people with a knack for this kind of thinking and perhaps also a penchant for exclusivity. Fortunately, the field is now wide open to people with far more diverse kinds of minds.
Whenever I remember that SICP review, in the next gust of thought there arises this line from Alistair Cooke’s Six Men (New York: Random House, 1977; p. 6):
André Malraux, in one of those blasting sentences with which [certain intellectuals] love to seal off whole tunnels of inquiry, said that “the death of Europe is the central fact of our time.”
The antidote I am speaking of is this: don’t let other people seal off the tunnels of your inquiry. Pursuit your own quest and, if you care to, do it on terms you choose. Anyway, don’t let yourself be discouraged by people who tell you, as that eminent computer scientist is doing, that your way is no good.
Were there any expectations you found hard to meet, or needs at RC that you found yourself particularly suited to meeting?
I can think of no expectations I found hard to meet.
I think I’ve been of occasional use to people preparing conference presentations and proposals, young people contemplating marriage, people afraid of career-change or a hostile job market, and people who have found some inspiration from my intransigence in such petty matters as using an old-fashioned text editor or avoiding the use of a mouse.
It seems to me I made quite an impression on the faculty during my first batch because of my extensive note-taking habits. (Those poor people have since been almost drowned in my logorrhea.)
What has inspired you to stay connected to the RC community after your batch?
The network of alumns at RC is the organization’s crown jewel, and no “inspiration” has been necessary.
What motivated you the most when your progress seemed to slow at RC?
One tactic was to change to a short-term, small project to take my mind off some bigger project that had stalled.
Long walks — of an hour or two — helped, too. Movies helped, conversation helped, assorted distractions helped. Another trick was to time my work sessions and when the timer went off, immediately force myself to stop work and do something else entirely. I’ve read that that was Igor Stravinsky’s method of composition.
Above all, persistence and patience helped. Mel Chua, now and again a resident at RC, often speaks about the uneven progress that our brains make during the process of learning. Periodically the human brain seems to slow down to a crawl and you find yourself in a funk — but that is when it is consolidating what it has learned, and the crawl doesn’t mean you’ve stopped learning at all. That’s been helpful to remember.
How did your initial goals differ from what you actually did at RC?
I haven’t looked back at my diaries to check this, but my impression is that my initial goals bore very little relation to what I actually did in batch.
In some cases, what happened to me was far better than what I had “planned” for. In others, I failed to learn something that I really had my heart set on, and that I still hanker for control of.
Were you able to make the best possible use of RC during your batch? Is there anything you wish you had done differently?
I went through two batches, and there are things I wish I had done differently both times.
The first time, I pair-programmed relatively little — probably because others were intimidated of me when I asked if we could pair, meaning for them to be “driving”. In retrospect, I see that I should have pushed for more pairing encounters, inviting others to pair, with me driving. I failed to take steps that would have made pairing take place. The driver in a pairing arrangement is more emotionally vulnerable than the “navigator”, and since my age and past profession make me especially intimidating to many people, I should always have put myself in that position for the first encounter or two.
In addition, I had a long-scheduled class that I had to teach after hours two days a week. At that time, RC’s rules were not enforced as energetically as they are now about the inadvisability of working at a job while in batch. Realistically, I could neither reschedule the teaching job nor cancel it, so I just left a little early two days a week. But it happened that that was the first batch during which Thursday presentations (now a fixture of the weekly schedule) took place, and I had to miss all but two of them. I don’t know what I could have done about that, but I wish it hadn’t happened.
In my second batch, I paired and collaborated much more, but I continued two practices from my first batch: working mainly in Python and doing projects with heavy emphasis on string-manipulation, since my domain of greatest comfort is a branch of natural-language linguistics. In retrospect, I see that I should have worked entirely in a language either new or very unfamiliar to me, and I should have worked entirely in graphical or numerical data rather than strings.
What surprised you the most about RC?
The first really big surprise I had was realizing how pleasant and interesting all the people there were. At that time, the network was not yet featured on the website as RC’s most valuable aspect. I suspect, though I’m not sure, that the founders only really began to understand about the network around the time of my first batch.
Is there anything you wish you had known, going in? Or are there any questions you would advise applicants asking themselves as they consider applying?
Are you ready to take risks with your own learning, and persistently prevent yourself from getting too comfortable with any project? That would be the best way to get the most you can out of RC.
Has there been a single most important benefit for you?
Hard to name just one, but high on the list is my understanding of what it means to be a programmer — that was the paramount insight of my first batch. Joining the network of alumns is another item high on the list.
How about a single biggest struggle?
Many people enter RC with no more coding experience than I had but they are half my age. Seeing how much more easily they get job interviews than I do — granted that they may, even so, not get job offers — has been frustrating and I haven’t always handled that well at all. The only half-solution I can offer for that is to point out that most of those people are building a first career; this is my second career, and some differences arise inevitably from that point.
Was it difficult to make the time in your life to attend RC?
It was hard on my family for me to be so completely abstracted from them for three months.
I didn’t get much exercise while at RC — I had been following a substantial workout practice until then, but RC put an end to it utterly, and I’ve never really recovered from that.
I didn’t sleep much while at RC — I was too keyed up and learning too intensely, and during those months I often dreamt that I was writing code. That happened during both batches, and the state of hyperagrypnia gradually dissipated during the month after my batch ended.
Have you had any other experiences that in part resemble your experience at RC?
My first couple of years in graduate school were somewhat like RC, in that I felt newly admitted into a restricted guild where people helped each other to learn.
My two-and-a-half years in rural China doing dialect fieldwork for my dissertation were also similar, with respect to self-directed, hands-on learning. No academic research project I have done since then has been as much like RC as that was. I had only very occasional contact with my Doktorvater, far off in the United States somewhere — we communicated by paper letters at that time and between those places. (My shymuu 師母, my advisor’s widow, recently sent me the whole sheaf of letters he had kept.) While in the field I learned a vast amount from the old men I was collecting language from, and the younger men I interacted with in the Government offices that sponsored me, and most of all from struggle — on my own terms — to make sense of the language data I was gathering.