Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Articles
Search: 

Review: The Software Developer's Guide
Nick Neklioudov, November 1, 2002
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/1...

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".

Nick Neklioudov, Cgi Group Inc.
Nick Neklioudov, M.Sc., CNA, works as Senior Analyst with CGI Group Inc. in Halifax, Nova Scotia, Canada. Programming in all versions of FoxPro/VFP since 1987, in .Net since 2003, not counting some other developer tools and environments. Nick received Microsoft Most Valuable Professional award three times. Nick Neklioudov has over 20 years experience with computers and information technologies, especially in database-oriented programming, object-oriented programming and information systems development.
More articles from this author
Nick Neklioudov, January 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, February 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, March 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, April 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, May 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, June 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, July 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, August 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, September 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, October 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, November 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, December 1, 2006
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, March 1, 2007
Nick Neklioudov resumes the highlights in the VFP community in the last month
Nick Neklioudov, June 23, 2000
You can make your form Modal/Modeless on the fly. This may be useful for preventing users to switch to other forms before they finished entering the data.
Nick Neklioudov, April 7, 2000
This will translate the HEX encrypted text. It is a little wrapper around George Tasker class for automatic translation back and forth and placing the translated text to the Clipboard. You can explicitly pass your text as a parameter, or the program automatically picks the clipboard content.
Nick Neklioudov, May 29, 2002
Instead of trying to add properties with some third-party tools like ADDPROP5.FLL to the native object created with SCATTER NAME command you may try to approach this problem from the other side. You can replace the native SCATTER command with your own function MYSCATTER which may work on any are...
Nick Neklioudov, April 5, 2000
Checkboxes supports both Numeric and Logical data types. When you check its value, do not just write IF thisform.mycheckbox.Value = 1 or IF thisform.mycheckbox.Value = .t. Check it as IF !EMPTY(thisform.mycheckbox.Value) This way you don't care what the type of value really i...
Nick Neklioudov, June 26, 2000
Say, you have the client birth date and you want your program to tell you if the birthday is within the certain date range (even when the given range starts in one year and finishes in another). SELECT * FROM CLIENTS ; WHERE BETWEEN(GOMONTH(birth_date,(YEAR(start_date)- YEAR(birth_date))*12), st...
Nick Neklioudov, November 1, 2001
I live in Halifax, Nova Scotia with my wife Tanya (who I happily married 22 years ago) and our 18-year old daughter Nadya. The 3-year old cat Stanley is also a family member :) As you might have guessed, I do VFP programming. Tanya works at Dalhousie University. She is Ph. D. in Biology and has bee...
Nick Neklioudov, July 17, 2000
If you get an error "Expression is invalid. Use a valid expression for DYNAMIC... property" you may try different type of addressing your PEMs: For example, in Grid.Init() this syntax does not work this.SETALL('DynamicBackColor', 'IIF(ASCAN(This.Parent.aRecNosSelected,RECNO()) > 0, RGB(255,0,...
Nick Neklioudov, January 17, 1998
This works: this.column1.DynamicForeColor = "IIF(some_type = 2, RGB(255,0,0), RGB(0,0,0))" And this does not work: this.column1.DynamicForeColor = "IIF(some_type = 2, RGB(255,0,0), RGB(0,0,0)) " Reason: one extra space before closing quotes.
Nick Neklioudov, January 1, 2001
I believe all of us are familiar with that set of four navigational buttons "First", "Prior", "Next", "Last" we use for data entry or maintenance forms. You need to put some code in their Click() events, enable or disable navigation buttons, according to the position of record pointer in a table. ...