Sunday, October 09, 2005

How to Write More Clearly, Think More Clearly, and Learn Complex Material More Easily

This is an excellent presentation by Dr. Michael A. Covington of the Artificial Intelligence Center at The University of Georgia. He makes such interesting points and I think this has so much relevance to some goals I have for this blog and to engineering in general.

Some thoughts...

I've found that it's very hard to translate personal technical knowledge into elegant, interesting writing that engages a reader. I've also found that you really need to know what you're talking about inside and out and exactly what the goal of your writing will be. This really dawned on me when I wanted to write about Apache Axis handling web service calls from a .NET client. I realized that I didn't know how we had deployed Axis, or really how it actually worked, even though I was writing to it every day for months. I think this is common, especially in large companies. One of the ironies of engineering is that well-engineered products shelter developers from having to know their internals, but we generally end up digging in and learning them anyway. To some extent, this is one reason why I've posted very little of what I want to say with my technical voice.

In my book, the King of translating deep technical knowledge into interesting and engaging writing is Rod Johnson. By far.

"You don't understand anything until you learn it more than one way." --Marvin Minsky

Dr. Covington makes this same general point in one of his "Clear Understanding" slides (#92). This is something I've personally witnessed through myself working with different languages and life cycles of projects and in engineering in general. For instance, it's truly remarkable to have an epiphany about the elegance of a design pattern (or hideousness of an anti-pattern), or come back around on a database design decision for a project that supports some totally unforeseen requirement from some unrelated project. Most recently, Threading has been the foremost area of personal learning for me along these lines - probably because, in order to truly know threading, you must be bit in the ass by it hard a few times.

"Better to keep your mouth shut and let people assume you're stupid than open it and remove all doubt." --anonymous

I've read various buzz about managing projects through blogs or wiki's. Blogger's team support is intriguing and I've checked out cool services like Backpack. I've realized that the stumbling block isn't the tools support, it's motivating other engineers to
actually write (sentences). I think this is one subtle underlying reason why the XP tenet of self-documenting code is one of the easier XP practices to actually adopt.

"The more I see, the less I know..." --Matt Johnson, The The

So in the end, Dr. Covington is really giving a nod to all the technologists out in the blogosphere. For me personally, his presentation is an affirmation of my methods to figure out what I know and continue my journey of learning.

No comments: