June 07, 2004

Book Review - Coder to Developer

Over the weekend I finished reading "Coder to Developer: Tools and Strategies for Delivering Your Software". This book wasn't what I was expecting, but in a good way.

I originally heard about this book through an article by Joel, in which he posted the foreword he wrote for this book. (Its well worth the read). It sounded interesting and I started looking for the book up here in Canada. Nada. No one is carrying it. No worries I told myself, and ordered it from Amazon.

When I got it I started reading it right away, and I found that I liked the approach of this book. Where most of the books I read are focused on the process of building big business, securing multi-national corporations or developing in the largest of team environments, this book is really targeted to the small ISV... which is me! This made for a more enjoyable read as I could better identify with the authors comments and points of view.

The layout of topics covered was in my opinion bang on as it relates to issues faced when moving from "coder to developer". Topics included:

  1. Planning you Project
  2. Organizing you Project
  3. Using Source Code Control Effectively
  4. Coding Defensively
  5. Preventing Bugs with Unit Testing
  6. Pumping Up the IDE
  7. Digging Into the Source Code
  8. Generating Code
  9. Tracking and Squashing Bugs
  10. Logging Application Activity
  11. Working with Small Teams
  12. Creating Documentation
  13. Mastering the Build Process
  14. Protecting Your Intellectual Property
  15. Delivering the Application

The only problem, in my opinion, is that the author really didn't go into the right depth in some areas, and quite frankly didn't have the right experience in others. As an example, the protecting IP chapter felt unfinished to me, with mostly a cut and paste of different licensing, from GPL to proprietary and back again. I was also hoping for more indepth coverage on using obfuscators. I know what they are, I want to see how to better integrate them into my build process. Of course, I think the "Coding Defensively" chapter could be expanded on, but if you are a regular here you can kinda expect that :)

But these are small short comings from an otherwise great book. One of the things I liked was how he approached teaching concepts. Throughout the book he followed the building of a program called "Download Tracker" where he showed the concepts through direct usage in his project. This was extremely effective for me as I have had difficulty embracing how I can use NUnit for unit testing in my work. Through his examples, I can now see how to implement unit testing with NUnit in my .NET standalone apps, and will do so in the near future.

Building on that, I also liked that he would show how to use different tools to accomplish the same thing via a different approach. In many cases the author would point out tools along the pricing scale, allowing for the budget-conscious ISV to still get many of the benefits of certain types of tools... even if they can't afford others. He even provided URLs to these tools so they would be easy to find.

What suprised me from this book was how .NET oriented it as. Although you can still walk away with the concepts and principles of the book if you code on other platforms, this REALLY was focused for the .NET framework. This was ok for me, as I actually am using it... but I could see some grow tired of references if they were developing on a Unix platform.

Great book. Great content. Easy read. Everything you want out of a book.

I am going away on business for the next couple of days, and have my next book in hand. Switching back to a business focus I am now reading "The E-Myth Revisited:Why Most Small Businesses Don't Work and What to Do about It". Review to follow.

Posted by SilverStr at June 7, 2004 11:16 AM | TrackBack
Comments

A book along a similiar vein is "The Pragmatic Programmer: From Journeyman to Master":

http://www.amazon.ca/exec/obidos/ASIN/020161622X/qid=1086851596/ref=sr_8_xs_ap_i1_xgl14/702-9562938-4285617

Which I highly recommend as well (it's on my bookshelf).

Posted by: Wim at June 10, 2004 12:25 AM