Bibles for me as architect and developer at the same time

Often, when I meet developers I get the question, what do you read for literature to remain up-to-date. Or, which references do you use? Cleaning up the mess around my desk today brought me to the moment I had to put my books back together. So here’s my ‘desktop-list’ of 10 august 2008:

  1. Laughing at the CIO; A Parable and Prescription for IT Leadership by Bob Boiko
    The only IT leadership book I know which hasn’t lost real life views. Excellent book written in simplistic English. Worth for everybody who has to work with information business goals on a daily base.
  2. C# Programming Language, The (2nd Edition)  by Anders Hejlsberg e.o.
    My primary language is C#. So I don’t want to be limited by the language of choice. So if I’m having a problem with generics, strange Polymorphism or Encapsulation effects in C#/.NET. Or simply forget about the difference between value types and references in C#, I’ve got the bible nearby. Essential for me, especially when developing reusable components.
  3. The Object Primer: Agile Model-Driven Development with UML 2.0 by Scott W. Ambler
    This book has relearned me how to write code. Used at many universities as a start for OO programming. For me it’s my base to get back to. It also touches all the side effects of programming such as agile methodologies, testing and (domain) modelling. It won’t go to deep into UML, which is, from some perspectives a shame, but for UML modelling I’ve got other books(which are not on my desk by the way!!).
  4. Design Patterns: Elements of Reusable Object-Oriented Software by the Gang of Four
    This book is a must have for every developer and architect. Have been reading it 3 times and every time I access one of the pages it makes life a lot of clearer. Keep in mind with these design patterns that they are _never_ meant as a bible, but as a guide. For your own interpretation in your own language. Sitecore as a product uses a lot of design patterns, but again, modified to the .NET environment. I primarily use the book as a reference to understand other peoples’ code.
  5. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools by Jack Greenfield, Keith Short, e.o.
    You would expect this book is only about Software Factories but that’s an illusion. It is about structured development. Obviously linked to how to automate this and bring this to a valid reusable theory. I’ve learned from this book that the software industry has a long way to go. On daily base it helps me to write better tooling and frameworks for being more productive.
  6. Professional ASP.NET 3.5: In C# and VB (Programmer to Programmer) by Scott Hanselman e.o.
    As Sitecore is all about ASP.NET, my latest addition to my desktop list is this book. It gives a broad view of all features in ASP.NET from providers to ASP.NET, from webcontrols to webparts. I’m extremely happy to have it on my desk to search for some stuff instead of opening(and switching between) another browser with MSDN. It just feels a bit more comfortable.

I’m sure you can live without these books. But I simply can’t. I try to do a good job on daily base. Especially when I’ve to help people with technical problems. Supplying code examples, reviewing frameworks, etc, requires from me to have a the necessary tools close to me. A sad thing is that I’m unable to write enough code to qualify myself as a developer these days!

Hope this list is helpful for people searching for right literature :).