Books for Self-Improvement

I'm always scared when I consider spending $30 to $120 for a book on some aspect of computer science or business, but when I figure what my time costs, it's hard to complain. My employer spends more than $50 an hour on me all told, so if a book costing $50 saves me at least an hour more that it takes me to read it, they win. But how do you know? Especially if you're independent and that money comes right off the bottom line, how do you know if that book is really worth the price? If you can't try it yourself before you buy, you ask someone who has. I've recently had opportunity, courtesy of my employer, to purchase and read a variety of books that I would not normally consider. As a result, I've gained a new appreciation for the volume of useful information there is waiting for the unsuspecting game developer, manager of developers, incipient president of a startup, and pretty much anyone else in our end of the business. I hope to pass on some of that information, and I hope you'll find it useful.

I have never before found a book that I sincerely felt ALL programmers should own and read. Now I have. It's called Code Complete by Steve McConnell, and it's from Microsoft Press, ISBN 1-55615-484-4, $35. Subtitled "A Practical Handbook of Software Construction", it's a huge perfect bound volume that attempts to pass on hard-won experience from one generation of programmers to another.

Sections include "Laying the Foundation", "Design", "Data", "Control", "Constant Considerations", "Quality Improvement", "Final Steps", and "Software Craftsmanship". Tips and tricks abound, as do pointers to other volumes, quotes about software development and related disciplines, and code examples (both good and bad).

Most of you will already be using some, if not many, of these little tips and tricks, but I bet there's nobody out there (except perhaps Steve McConnell), who won't find at least one useful item in this book. One of its most useful items is a pointer is to the next book...

Peopleware: Productive Projects and Teams, by Tom DeMarco & Timothy Lister, from Dorset House, ISBN 0-932633-05-6, $25, is a delightful book about project management, software engineering, and productivity. It's a quick read written in a very chatty, personal style, liberally sprinkled with anecdotes that effectively illustrate the various topics under discussion.

DeMarco and Lister are consultants in the field of estimating and productivity. The emphasis they place upon measurement is, in my experience, foreign to our branch of the industry, as are their various discussions of the political maneuvering necessary to move very large organizations. Of course, more large corporations are moving into the interactive entertainment field, and you may someday find yourself trying to effect large-scale changes in the policies of a group the size of Disney.

Inside Peopleware you will find sections titled "Managing The Human Resource", "The Office Environment", "The Right People", "Growing Productive Teams", and "It's Supposed To Be Fun To Work Here". I found all the topics fascinating and have already changed my patterns of work after considering some of the research reported in the book. The parallels drawn from other fields of endeavor were initially somewhat startling to me, but very useful once they had been presented.

If you are a Lone Wolf, this book has sections you will not be interested in so long as you remain a Lone Wolf, but it has others that you may take to heart. If you are a manager or you have a manager, you must read this book. If you have responsibility for a large number of creative people, you must read this book. You may discover simple changes that improve your organizational productivity tremendously. If you donāt like your current work situation, Peopleware will give you ammunition to change it. If you do like your current work situation, it can teach you, your managers, and your reports how to be more efficient and productive. And if you're in a desperate work situation, it can teach you how to "call in well and work on your resume".

It's been said that it takes 10-15 years for an idea to go from the university to the workplace. I observe that it seems to take at least another 10-15 years for that idea to go from the workplace to the game industry. There are many exceptions, of course (C++ being perhaps the most obvious). One of the things that hasn't moved into our industry at all is a formalization of the analysis and design processes. There are many such formalizations being used now by industry and academia, but I don't know of anyone in our business who uses them. One of the major formalizations is known as the Booch method, and the latest revision of the Booch method is described in Grady Booch's Object-Oriented Analysis and Design, with Applications, Second Edition, from Benjamin/Cummings, ISBN 0-8053-5340-2, $45.95.

Make no mistake, this is a weighty tome. I've only made it about halfway through so far in almost a month of occasional reading, plus some additional skimming. It's almost 600 pages of discussion and examples of a formal system for performing and recording object-oriented domain analysis, project design, program design and implementation, and product maintenance. It's the closest thing to a graduate school textbook I've read in far too long. The examples are primarily in C++, although there is discussion of other object-oriented languages as well as an appendix covering six OOPLs. Topics range from "Complexity" and "Classification" to "Tools" and include five application examples: Weather Monitoring Station, Foundation Class Library, Inventory Tracking, Cryptanalysis, and Traffic Management.

I think this book is valuable for any project architect, designer, or technical lead, especially if the project is written using C++. Even if you don't elect to use the formalization, the careful examination of the process of analysis, design, architecture, and implementation will be useful to anyone responsible for a project of significant size. I thought the contrast between the Waterfall method and the Evolutionary method particularly thought-provoking — to the point that I expect to suggest at least one substantial modification to my company's project process as a direct result of reading this book.

For everyone, I suggest Tom Peters' Liberation Management, from Fawcett, ISBN 0-449-90888-7, $15. This book is subtitled "Necessary Disorganization for the Nanosecond Nineties". The stories of improved productivity, lessened bureaucracy, and creative management techniques are easily worth several times the price of the book and the time to read it. In a sense, it's In Search of Excellence revisited with new ideas, but the breadth of example provided makes it much more interesting to me than In Search of Excellence was. Maybe I'm just more interested in management now than I was then, but I think this is a much more valuable book.

From "Necessary Disorganization" to "Learning To Hustle" to "Information Technology" to "Beyond Hierarchy" and the rest, each section contains several chapters designed to push home the idea that our existing monolithic, hierarchical corporations are increasingly unable to deal with the pace of change in modern business, and that flatter, decentralized cooperative teams are the solution. Whether or not you agree, or are willing to consider a radical restructuring of your workplace, there is much to be gained from the examples and anecdotes. If nothing else, they provide examples of other people's radical thinking to start your own moving.

If we aspire to professional status, we must assume a professional attitude. That attitude includes constantly improving one's knowledge and techniques (though not one's style of dress). These books, and others like them, can help each and every one of us do that.

Copyright © Evan Robinson. All Rights Reserved.