Another week of Hacker School has passed and we are now at the halfway mark. If I learn as much between now and the end as I have since I got here, I'll be in a state of mind I can hardly imagine yet. I've been well aware that my academic life has set me a very high bar for mastery of ideas and methods, and that I am nowhere near being able to reach that bar in programming. But I am not in a hurry, or more exactly I am terribly eager to learn more and do so faster, but at the same time my patience with the process is increasing as I gain a broader view of the field before me. I try not to think of the vastness and depth of the field in terms of my own scale, and that helps fertilize the growth of patience.
A moment for observing myself: While helping my dictionary coauthor apply for promotion and then preparing a conference paper last weekend I happened to re-run the code I wrote for these two substantial projects in the Summer and Fall. And as result of that I took a good, fresh look at the code and realized just how much I had learned in the first five weeks of Hacker School, and how much I would do differently now. That was quite a lesson.
My chief reflection is that now, at the halfway point, Hacker School has pushed aside almost everything else in my life. The only dreams I can remember in the mornings are of writing and debugging code. I have ceased to follow any coherent exercise plan, although I'm still doing my 150 squats while the others in the mid-afternoon pushup group are doing pushups. I'm pretty sure I'm not getting enough sleep, but I still feel too stimulated to try to get more. I haven't been getting written the daily diaries I send to a few friends, and on Thursday I even failed to keep my own internal record of tasks accomplished, although I did get a lot of code written and a few additions made to my running list of methods and tricks learned.
One of the recipients of my daily records, ever thoughtful, wrote to ask about the place of drive in the Hacker School experience:
I'm curious how much of the benefit of this experience is the result of your commitment to set aside uninterrupted time for learning, how much of it comes from being in an environment with others driven to learn independently (and perhaps some competitiveness on your part in such environments?), and how much of it comes from actual engagement with peers who can assist you at key moments.
My first thought is that I would not underestimate the level of commitment and competitiveness among programmers among all levels, including even novices who have not yet written a single working program. As a matter of culture, Hacker School promotes the ideal that we should avoid some of the roughness of explicit competitiveness, but of course it's there in what drives many of us. I try to be gentle with my peers and (in my other life as a teacher) my students, but I think competitiveness is healthy, just as collaboration is.
Internal drives aside, the mixture of self-directed independent work and "pairing" is key to the experience here. I could write about that for several hours, but I don't feel the time for doing so has come yet.
I should also mention the selection process through which my "batch" or cohort entered Hacker School. The School's first two batches are said to have been made up of friends and the friends of friends. But the admission process has been more elaborate since then. I didn't find it unpleasant or stressful in any way. The other day, over a meal with three of my batch, I mused that there really is no one the least bit unpleasant or uninteresting in this whole batch — and whatever heuristics were applied internally by the faculty during application-vetting and interviews, the results impress me. And I consider myself well prepared to appreciate the effectiveness of this process process, having hired and managed personnel and overseen students in all sorts of different educational programs.
My inquiring friend continued:
A related thought would be: What percentage of your [Hacker School] cohort seem to feel the same as you about its rewards? If independent and uninterrupted work is the key factor, since that is a rare skill, even with the selection effects of opting into the school and being chosen, I might expect that only a small number truly feel they are getting as much benefit as you (although others might fool themselves).
It is hard to gauge the state of things so as to answer conclusively in a few words. Self-direction is a central part of the experience at Hacker School. Some people seem to be coding socially much more of the time than others, but I suppose that is a temperamental choice and there is room for different styles.
Some of our number have said that their learning and planning strategies were poor in the first weeks — that they didn't use their time well or even know what they should be doing. How things may have changed since then I can't say. That would make an interesting topic for a survey toward the end of the batch. But my view is that even a gross miscalculation here doesn't derail self-direction; it provides new opportunities to evaluate what one is doing and redirect oneself. And evaluating oneself is the key thing, while never making foolish mistakes is as good as impossible. So I don't take poor initial planning too seriously — I don't consider it a damning error.
Anecdotally, everyone I have asked considers Hacker School an exceptional adventure of growth and self-cultivation. Some people are hoping to find work as a direct outcome of participation in the batch, but not everyone by any means. That's a further complication in answering questions about what drives people. And things are organized so that the recruitment component of Hacker School has been discussed very little in these past six weeks.