Reading books to help develop your career seems to be falling out of fashion of late, especially in Software Engineering where websites, mailing list and blogs are used to fill the gap. I don’t think this is a completely healthy trend, as a lot of the best writing I’ve encountered on general software engineering, projects and people has been in books, not the internet. However I have found the internet, blogs and email lists to be infinitely better than books for providing solutions to specific technical problems e.g, how do I parse XML in C# 1.0?
I think this trend away from books has been partially brought about by the production and proliferation of books teaching about programming languages and technical issues which date quickly instead of the software engineering principles or design which have a much longer shelf life. I think this occurred because although at first it was possible for publishers and writers to keep up with the rate of change in programming languages, environments and technologies, it would seem that for the last few years the rate of change has been greater than the publishers could maintain, with a few exceptions. This has lead to a flooding of the shelves of bookstores with books on version 1 of language X when version 2 is the latest version and on Office 2003 when Office 2007 is now out. Online sources are much better suited to keep up with the latest news and developments for language/technologies and to provide up to date examples and tutorials. This does not mean books should be ignored but a lot of people seem to be assuming this.
Books that cover subjects like development methodologies, software design, design patterns, problem solving, testing, people management, planning, running teams and other non technology/language specific areas are a vital way to pass on knowledge and information to those new to industry. However, the increasing trend of relying on online sources is meaning that a lot of new starts in software engineering have not read the classic texts, unless forced to in university. By not reading these texts they miss out on learning from those that have gone before them and are thus doomed to repeat the mistakes of the past until they learn the hard, slow and inefficient way.
Part of my desire to start this blog was to have on it a recommended reading page, listing the texts I feel every software engineer regardless of platform, language or methodolgy should read in order to ’stand on the shoulders of giants’ and avoid the bane of our discipline which is reinventing the wheel over and over again. I am currently working on the first pass of my list of recommended reading and hope to have it posted up in the next week or two.
Post a Comment