Books I’m Reading
Sunday, November 29th, 2009My apologies for the long gap of time that has elapsed since I’ve written a “real” post; it is true that school and work have been keeping me busy, but the whole story is that I’ve had less to write, and more to think about lately. This includes slowly working through two books that I’ll briefly mention here.
Coders At Work by Peter Seibel is a series of real and raw interviews with some of the most high-profile programmers of our day (though I’m rather ashamed to admit that the only name that was familiar to me before I started reading the book was that of Donald Knuth). After reading the favorable review of this on Coding Horror, I picked it up, and I’m glad I did.
Within its 601 pages, each interviewee is asked some predictable (though interesting) questions resembling:
- How did you get started programming?
- What was it that drew you to it?
- What do you think about C/C++?
- What tools do you use?
And then some more useful ones:
- In retrospect, how much of a role did academia play in jump-starting your career? Was it necessary?
- How about graduate study?
- What is the process that you use to design software?
- How important are formal proofs to testing?
- How do you read code?
- What are the skills you are looking for when hiring new programmers?
Obviously, as a rather new programmer in undergraduate study, these questions and more I find especially fascinating to hear addressed this early into my career. Though these folks have strong opinions which vary widely in some aspects, there are nuggets here such as the huge importance of reading code that others have written which I am glad to discover. The book has been reported to read like a novel, which it truly does. Caution: because of the informal interview settings, the book contains occasional (though concentrated) strong language.
When I wandered over to Barnes & Nobles to pick up the first book, a second grabbed my attention entitled Pragmatic Thinking and Learning by Andy Hunt. This is, not surprisingly, another addition to the Pragmatic Bookshelf (TM) series, but it turns away from the technical skills to concentrate on the art of thinking — but not in the analytical, procedural, mechanical, left-brain approach that we employ at work. Instead, Hunt emphasizes capturing and taking advantage of the creativity and intuition that sets apart an expert from an advanced beginner on the Dreyfus model of skill acquisition, and how to stimulate and encourage such thought patterns that he contends are not overly common to the field of Computer Science. With a well-established background, plenty of humor, well-placed quotes, hand-drawn illustrations and practical ideas geared toward those in the software industry, I am finding this to be a fresh and unique perspective on skills useful to a programmer.



I know this is an old book (1994!), but it’s one that I have just added to my bookshelf and it’s worth a review for undergraduate (read: relatively inexperienced) programmers such as myself. Written by the now famous “Gang of Four” (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides), Design Patterns is the classic and authoritative reference on the subject.