LinkedIn | FaceBook | Twitter
I read a lot. I mean a LOT. It seems that computer professionals have much in common with medical professionals – we have to read in order to stay on top of our game. For me, this used to mean web sites, magazines, and other print medium, and of course lots of books. I’ve even written several computer books myself and had them published.
Whenever I teach a class, do a presentation, or hold an architectural design session on a new (or new to that person) technology, they usually follow up with “what’s a good book for learning X technology?” This happens so often that I have a list I keep of the titles I like for a particular subject – you probably have similar book lists.
Windows, SQL Server, and other Microsoft products change on an average of around three or four year cycles. That’s enough time to play with a beta product, wait until it releases, and write a solid book about it, and have that in a decent market for sales, and allow people to read and recommend it.
Enter “the Cloud” – Distributed Computing.
Windows Azure and SQL Azure don’t release every three years. Changes – some of them dramatic – release every three or four months. You can’t even write a book that fast, much less update it that quickly and re-sell it. So what is a technical professional to do?
Well, although I really like a couple of books I’ve read so far (especially this one, print and e-book version here), they are out of date almost by the time they publish. Instead, I rely on blogs, the web, documentation from the vendor and how-to articles published online. Many of these, ironically, are stored, hosted or delivered using – wait for it – Windows Azure. That’s interesting because it’s a medium that describes itself – “reflection”, anyone?
This brings up an interesting conundrum. Books have a version, are arranged, thought-out and categorized. Since I’m now getting information off of the web, it’s difficult to figure out whether that material is correct at the time, what level it’s aimed at – and forget about any coherent structure. It’s topic-by-topic.
So, like most of you, I use links and favorites to arrange things. And I found myself making “virtual books” by essentially creating my own Table-Of-Contents. I’ve shared some of those, such as my Windows and SQL Azure Learning Plan. The key is that I have to update that to ensure that the latest information is there – otherwise it becomes an organized list that is not authoritative.
Don’t get me wrong – I still have tons of (e-book format) books, especially on “conceptual” topics like development paradigms and so on. But when it comes to specifics and how-to’s – electronic medium is best for me. It’s more current, adaptable, searchable, interactive and immersive than books. But how long will I retain regular print-type books? We’ll see. Times, they are a changing – fast.
I think you make an important distinction between the "how to" and the conceptual. I get a book allowance at work which I use for the books which will date quickly but also have a personal library of the more conceptual topics such as database design and human computer interaction etc (those with longevity and that span specific technologies).
Nonetheless, even on the "How to" I still think there is a place for those books that take users from knowing little or nothing about a subject upto a base level. Thereafter, they should be able to use the appropriate blogs and other electronic materials.
Where I think a GOOD book has an advantage over other mediums is that they have an appropriate starting point and path through the product to get you up to speed. Whereas, blogs, conferences etc let you focus in on specifics or gather awareness of what is possible.
My company has built a fully-featured, cloud-based, manufacturing ERP system used by tens of thousands of users around the world. We have mastered the art of rapid change. We make dozens, sometimes hundreds of deployments to our production system *per day*. Talk about struggling with keeping the documentation up-to-date. :)
As this sort of rapid change increases in the industry, the tension between product functionality and current documentation that describes it will become even more intense. I think we'll have to rely more and more on user-created documentation, and improve our software design to help reduce the need for bloated manuals in the first place.