Greg Beech's Website

Recommended Books

These are some of the books that I think are worth reading if you're doing middle-tier development. I've also included a rough guide to choosing books at the bottom, which is the way I choose books if I don't have any recommendations from people, to give myself a reasonable chance of buying something decent. There are way, way more bad books than there are good ones, so this isn't the easiest thing in the world, and I've certainly made plenty of mistakes.

A great book even for experienced .NET developers. It covers a lot of the under-the-covers stuff such as object formats and garbage collection, and even the more esoteric things such as aspect oriented programming. Although there's not a lot here directly related to writing applications, the information will enable you to write better, cleaner code through an understanding of the underlying framework.
You probably know the C# language pretty well by now, but if you haven't kept up to date with topics like generics, iterators and Linq then this book is well worth a read. It covers everything from the basics up to more advanced topics in a logical and progressive manner.
The definitive guide to developing applications on top of SQL Server 2005. This book contains details of all the T-SQL enhancements, XML capabilities, service broker, etc. I did find the book jumped around a bit, and had a lot of forward references which made it difficult to read sequentially, but it contains all the information you need in a clear format and is a great reference that I fall back on a lot.

A surprisingly comprehensive guide to WF given the mere three hundred or so pages. It begins with a deconstruction of WF which really puts you into the correct mindset to see where the designers were coming from, and includes details of all the fundamentals and some of the complexities of creating WF applications. You won't be immediately an expert at WF after reading this book, as parts of it are just so difficult and involved that it takes months of real-world development to get to that level, but it will at least allow you to reason about what the runtime and workflows are doing from first principles which will help you solve the problems you encounter.

This is a dreadfully written book from the Microsoft Patterns and Practices group, with no logical flow and a lot of repetition. However it does have a significant amount very valuable material that I haven't found elsewhere about performance and scalability which means that I'd still have to recommend reading it if you care about making your applications run well. Which you should.
A thoroughly comprehensive guide to the capabilities of BizTalk Server 2006, including some of the least commonly used (but in my opinion very important) areas such as tracking and pipeline component development. I don't agree with everything in here, which probably isn't surprising seeing as there is so much that can be done with the product in a variety of ways, but there's nothing that will steer you too far wrong. Even experienced BizTalk developers will learn a lot from this book - I know I did.

When choosing books, to have the highest chance that it will be something worth reading, and not just £20-40 down the drain, I stick to these guidelines. They're not perfect but can be useful when forced to make a blind choice.

  • Fewer authors is better. One or two is the ideal number for single topic books (e.g. .NET, C#, WF) as these areas are small enough that a couple of people should be able to collate all the required information and produce a coherent book. Three or even four authors is fine if it's a larger topic (e.g. BizTalk, SQL Server) as these products are so large that it may take more people to collate the content, however it should still be few enough people that they can work together and make the book a whole rather than a bunch of chapters thrown together. Five or more authors often leads to books that are less coherent and often somewhat repetitive.
  • Prefer certain publishers and series. I am rarely disappointed are Addison-Wesley's Essential .NET series or O'Reilly's Programming series, however I am normally disappointed by anything published by Wrox or the Microsoft Patterns and Practices group (you'll notice there are exceptions to these listed in my recommended books though). Books in a series by a publisher tend to share a similar tone, and the style I prefer is very technical with little in the way of fluff.
  • Look at the credentials of the author(s). Is there a reason why the person is writing the book? If they are, or have been, a program manager or architect in the area they are writing about then there's a good chance it's because they feel passionate about the subject and have an in depth knowledge of the subject, as well as access to the resources to fill in any areas they don't know first hand. If it's a technology book written by people with no connection to the product team then be wary.

Happy reading!


Posted Apr 27 2007, 11:58 PM by Greg Beech
Filed under:

Add a Comment

(required)  
(optional)
(required)  
Remember Me?

Enter the numbers above:
Copyright (C) Greg Beech. All rights reserved.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems