Sunday, September 1, 2013

How I'm Learning to Read Difficult, Technical Books

I'm not sure my advise will be generally applicable and the older I get the more I worry that I'm learning these lessons far too late. But you know, I still (hopefully) have decades of productive work ahead of me, so I'm still young enough to learn new things I suppose.

But because this advise comes from me and may not apply to you, let me start with a little background. Growing up, I did not have much access to computers or technology of any kind really. My parents were poor and couldn't afford to buy many necessities and technology was far down their list of priorities. Nor did they have much in the way of connections, so hand-me down technology gadgets were not on their list as well. Growing up, my two older sisters  were both artists which had probably the most direct influence on me, especially when I was younger.

Not that I really had any notable artistic talent, but I did love to read, and I read a lot of good books, for the pure love of reading, for the challenge of it and also for the knotch on my belt when I read books no one else reads. Some of the books I've read without school assignments were Tess of the d'Urbervilles, The Great GatsbyDon Quixote, and  Song of Solomon (I read the last book with my wife while we were dating and even referenced it during a church talk on family history). I've tried and failed with other books as well.

Don't get me wrong, I don't claim any special skill in great literature, but given my general demographic and the fact that most people not in my demographic don't really read anything at all, I think this little qwerk about me makes me a little unique.

It's relevant here because as I started my very technical university degree (because my real proficiencies are in math not literature), the skills I brought with me weren't exactly lining up with the skills I needed to excel in technical coursework. Mostly, my reading experience involved starting at page one and moving ahead, page by page until you reached the end. I wasn't an especially well-trained classical reader either, one that dug into the hard books with vigor and the willingness to dive deeply with careful reading and sometimes repeated reading, taking notes along the way. As a result, most of the hardest books flew over my head and I've tried and failed to finish most of them.  Don Quixote is one remarkable exception - it took me three years to finish. It's not especially difficult. Individual chapters are quite engaging. Its just so darn long and at times tedious and without a (to me) compelling enough story to keep you coming back for more. I was really just trying to get the classical education I never had,  Don Quixote happened to be the first book on the list and was the reason, predominantly, I flamed out.

But I digress.  But I guess its obvious that you can't learn technology in the same way you read novels. There are some parallels, true, especially with the hard books, but mostly you'll be doing it wrong or at least not efficiently. My natural inclination is to pick up a technical book, start from the beginning and read to the end, one dreary chapter at a time, considering the entire attempt a failure if I don't finish. This is wrong, wrong, wrong.

The goal with tech-books is not to finish the book, it's to learn the technology. And really learning difficult concepts is not the same as finishing a single book. It takes constant, continuous exposure, trying concepts out in the real world, reading books from different people, skipping around, not giving up until you achieve proficiency, well at least enough proficiency to do something useful.

In fact, this is not something they exactly teach in school. In a classroom, at least in my day, you are mostly assigned one very expensive text book, and the class more or less walks through it one chapter at a time, doing difficult assignments a long the way, you know, kind of like reading a novel. Not to mention that often the book the professor picks is the book the professor wrote (nothing wrong with that necessarily).

Now, in the age of the internet, people seem to have abandoned books altogether and lean on Stack Overflow or just plain old google to help with specific problems. These resources are good but not sufficient. Books give you a technical breadth and depth on a subject that is not easily replicable within the fragmented confines of the internet.

So, if you really want to learn a technical subject (say how to program an iPhone app), read, study, program, then read some more. And find multiple books, get different points of view, dive deeply, understand the language, the environment, experiment learn. It's not about finishing a book, it's about building something new. It's not magic, just a bit of relentlessness and constant exposure to the subject matter until it becomes second nature. But you learn this by doing and by reading.