Author: Whil Hentzen Publisher: Hentzenwerke Corporation ISBN: 193091900X Paperback: 548 pages Dimensions (in inches): 1.14 x 9.10 x 7.02 3rd edition (July 2002)
Amazon link: http://www.amazon.com/exec/obidos/tg/detail/-/193091900X/qid=1033007807/sr=8-3/ ref=sr_8_3/104-4551462-5371141?v=glance&n=507846
I was very pleased when I was asked to do the review of Whil Hentzen’s book "The Software Developer’s Guide". When I started to work as an Independent Consultant at the end of 1996, the first edition of this book "The 1997 Developer Guide" just happened to be there at the right place and time. It still stays on my desk.
This book helped me a great deal with the basics of the consulting business - especially its samples and suggests. For example, Whil’s guidelines walked me through one of the main problems of my first contract - setting the price and the payment schedule.
And now there is "The Software Developer’s Guide 3rd Edition". Whil himself usually refers to it as: The Other 90% of the work involved in producing custom software applications.
What’s in this book? The book’s Table of Contents is bigger than this review is supposed to be. <s> I am not going to list all the chapters here. Instead you can easily follow this link and see for yourself. Table of Contents in the actual book differs slightly, but the above mentioned web page still describes the content adequately.
What is not in this book? IMHO, there are no wasted words. The book takes you step by step through all aspects of the computer consulting business. But it is not a boring manual. It is a fun to read. I especially liked the quotes from movies that start every chapter.
It begins with all the pros and cons of independent consultant work. When you think to become an independent, you need to make some basic decisions: What you are going to do? What services you are going to provide? Where do you want to work? What type of company/industry do you want to work with.? Do you plan to do it all yourself? How much money do you want to make? How do you plan to get paid?, etc., etc. You will find advice on everything, including selecting the company name and even advice regarding material and color of the business cards One of the book’s samples of choosing a company name is the story of "Fournier Transformation".
Whil guides you through the decision processes, and this guidance, his samples and his "war stories", will help you to break down the whole process into manageable parts and make informed decisions. And perhaps (to your surprise) the results may tell you that consulting work may not be for you.
All the definitions, guidelines and scenarios throughout the book are stated very clearly, and essentially form a complete plan of action. They may be applied not only to the computer consulting business but also to other business areas. It is not a book on how to write applications. The main focus of the book is how you develop, communicate, and manage your client's expectations. You expect to do the work and earn money. Your client expects that the application you will be developing for him will meet his needs. Everything else lies between these points. The highest level of details can tell you that the author has been in all described situations himself and definitely knows what he is talking about. This book is Whil’s life and business experience in a compressed form.
When I went through this latest edition of Whil’s book, I realized that, more than ever, the book will be of interest to any developer, not only the independent consultant. Many sections of the book, such as Structured Development Specs, Structured Development Process, Rapid Application Development, apply to the corporate developers as well.
Whil also points out another very important thing in the computer consulting business - the need to develop some professional credentials that might set you apart from other competitors. You have to make yourself more "visible". One way to do this is to
participate in conferences and user groups, write articles, answer techical questions. Actually, the Universal Thread gives you an excellent playground for this kind of things.
I am still amazed at Whils' ability to point out and clearly explain the meaning of the tiny details, that can do a lot of good or bad in your relations with the clients. For example, one of them is the advice to try never get sidetracked on demonstrations of your prototype. You may want to show how easy it is to change your application, or attempt to implement customer's wishes on the fly, since you know how easy it is in VFP. But what is something goes wrong, or you hit one of the weird bugs or situations any programmer meets from time to time? I liked also the part about the auditing and rewriting the existing applications. It is very true that many existing systems are poorly documented, the documented data layouts are often outdated. As Whil notes, just asking the correct questions about the existing documentation and proposing to supply the full set of manuals may make you look good.
The last section talks about people and people relations. Being the consultant does not mean you have to work alone. There may be more work coming your way than you can handle at the moment, so you might want to subcontract part of your workload. Or, at some point you consulting business may grow so big that you will need to hire other developers. That's why the book includes the chapters about hiring, the interviewing process and even firing. But that is not the only place which talks about people. The people relations theme goes through the whole book.
You should think of "The Software Developer’s Guide" as the framework for your business. You may use this book to build your consulting business, just like you use Visual Fox Express, Mere Mortals or CodeMine framework to build your applications. And the "classes" in this "framework" have just as many PEMs as the VFP classes. <s> Your application framework takes most of the routine work, and similarly this "business framework" can (and will!) make your life easier. You may use it as a complete methodology to start with. You may use some its parts as is, and modify the others. In all cases it will help you to look professional in the eyes of your clients.
Of course, there are many books around telling you how to do business. What is different about this one? I think it meets our expectations as developers because it is written by a developer and for developers. This is one of the rare books, that may not be to "live by", but are certainly to "work by".