![]() |
Book RecommendationsIn order to maintain a competitive edge as a consultant, I read a lot. While periodicals are essential for tracking the industry's pulse, books provide a depth of coverage that typically reflect years of experience. The following books have been valuable to me working on distributed computing systems projects over the last few years. Current ReadingI always seem to be reading more than one book at a time. Currently, I am somewhat spellbound by Software Runaways, a compilation of massive software failures by Robert L. Glass. My fascination is not totally unlike that which many experience when driving past an automobile accident, and I find myself feeling lucky when I consider projects I've worked on that did not fail but which shared many of the problems of the projects described. I am also slowly but surely plowing my way through the Second Edition of Bertrand Meyer's tome Object-Oriented Software Construction. Like Glass, although to a somewhat lesser degree, Meyer is a contrarian, which appeals to me in that I am constantly forced to question that which I believe to be true. Not all of Meyer's arguments are equally compelling, but there is a great deal of truth and beauty in the development environment he constructs. If you wonder whether or not you'll enjoy the book, read chapter 22 "How to find the classes" in your local bookstore. Books To Which I Constantly ReferThese are the books I keep reaching for, even as they become dated.
Software Project Management and OrganizationNo doubt about it, keeping a software development project on track has always been incredibly difficult, and the situation is getting worse as the technological choices increase, more complex systems are requested and the talent pool of available, relevantly trained professionals shrinks. The following books have helped me cope with this. (Note that there is also some crossover from the books listed in the next section.)
There's also a somewhat naive, but very worthwhile, discussion in Chapters 4 through 6 of Building Client/Server Applications with Visual Basic, which ships with the Enterprise Edition of the product. Software Architecture, Design and QualityVery few individuals who make their living constructing software have the training necessary to produce robust designs. This appears to be more the result of so few having formal training rather than the quality of training itself. Every substantial undertaking needs someone who understands the basis of the material covered in these books.
Object-Oriented MiscellanyThis is other good stuff to know about object-oriented systems.
C++ ProgrammingThere is a huge range of abilities in the C++ programming community. The two best ways to advance one's skills are to work within a team of highly skilled individuals and read books written by highly skilled individuals. It is particularly important to develop facility with the programming idioms that represent best practices. The following books cover virtually all the idioms I've come across. (I include Gamma, et al., here because the book has been of much use when coding in C++. It has made the transition to Java very smoothly.)
Specific TechnologiesSometimes you can't even get started without the right book.
Technology and BusinessThere's a lot of fluff in this arena, but at least one book is well worth the read, even though it pre-dates the popularity of Internet/Intranet technologies.
Copyright © 1996-1998 Scott Nichol. 20-May-98 |