For some reason, I thought this would be a book of mentoring patterns, but that's not what's going on here. This is a book for a computer programmer who wants to learn more about the craft. If you're stuck, there are various things you can do to bust out of your rut and learn something new. This book points them out.
This book had me scratching my head, wondering who the target audience is... Then I noticed that the main author talks about experience in central Illinois. Look, I live in the San Francisco bay area. At any given moment, there's probably someone within spitting distance who wants to tell me about something new I can learn about computer programming. But this guy talks about being in central Illinois. He probably had to work harder to figure out things to learn.
So... I'm not sure that I'd recommend this book to anyone I know. But I might recommend it to people I don't know because they're, like, the only computer nerd in their neighborhood and don't know anyone to talk to about this stuff.
(It was also kinda neat to find self-instruction techniques organized in a way meant to be familiar to their target audience: design patterns.)
Updated: Rob Konigsberg read this book report and had some good things to say about who this book would help. Our chat went something like this:
Robert: Did you know one of the Apprenticeship Patterns authors works at the goog?
me: That sounds familiar.
I ain't pinging him about my book report though. Not after I said "only useful for the lone nerd sitting in a cornfield"Robert: Oh I already did.
me: Oh well, I thought it was a good book
Robert: So I was an early reviewer of the book
Anyway the short of it is I think it's actually a good book and my presumption is you didn't get it.
Which isn't a bad thingme: OK
Robert: It just meant it isn't for you
Case in point: I loaned it to Mike Bland and he LOVED itme: Yeah, I believe it.
Robert: And I am considering using it as a reading group book
me: It seems useful for someone who's overwhelmed wondering "what do I learn next"
Robert: Yes!
me: And seeking resources, not sure--
Sitting in the SF bay area, that didn't seem like so much of an issue.Robert: Maybe
me: Though I suppose that's because I've already gone through the steps in this book
I mean--I've figured out some people who tend to point me at good stuff.
Figured out some good explainers.
But it seems like I didn't really have to work at that. It just happened.
But I bet that if I was in Illinois, it would be a lot tougher.Robert: And I think sometimes you need a refresher
Not you
I felt like I needed that book when I was lost
Now I have a project I like and have too many things to do.
me: So... folks who are in a position where they don't pause to reflect. Or folks who have nothing to do but pause and reflect, but are having trouble narrowing down their choices.
Robert: I don't know.
That's fair
I think someone won't see the value of it when they're not in that position
But no, that's wrong.me: They also might not see the value of it if they're, uhm, occasionally blind to their own faults
Robert: I think there's more to it than that though.
I don't want people to think the only time to read this book is when you're forlorn
It's like suggesting that the only time to read design patterns is when you're struggling with out-of-control software
By then you're too late
I think the book is good to know about and then reflect upon when you're in those situations of growth and direction.
...and ideally, you're in situations of growth and direction pretty often. Rob's a pretty smart guy; you should listen to what he has to say. Probably whether you get a lot out of this book has more to do with your personality type than whether you're sitting in central Illinois.