Following on from conversations that I've had with various people recently it has struck me, and its' not a revolutionary thought, that my practice, and my thinking about my practice, is intimately linked to the feeds I subscribe to, the books I read, the events I attend, the people I chat with, and my work. So, as I finally got around to adding my ALT.NET Geek Code, I thought I'd write a short blog focusing on the feeds I subscribe to and some of the more influential (on me that is) books I have read in the last couple of years.
With feeds I of course subscribe to those of friends (see right) and I won't list them again as they are always present on this site. I'll start by giving a special mention to my two favourite blogs.
Next up, Scott Gu, always interesting to see what MS is coming out with next.
After these two, here's the rest:
- CodeBetter.com (it does what it says on the tin);
- Udi Dahan (great for design insights, esp. SOA) ;
- Object Mentor (TDD, XP, OO, SOA, and more from great thinkers);
- Scott Hanselman (all your ASP.NET desires and quite a bit more);
- Jeff Sutherland (a scrum founder);
- Jon Skeet (C# but other languages too);
- InfoQ (great for keeping up with what's going on especially as it gives a personalised feed);
- Roy Osherove (TDD);
- Simple Talk (general .NET and SQL Server + some practices)
- Bob Beauchemin (Sql Server, also Linq & EF stuff)
- Sebastien Lambla (ALT.NET goodness)
- Eric Lippert (C#, need I say)
- Threads watched by the Channel 9 team (what it says)
- Mir.aculo.us (Scriptaculous and Prototype stuff mostly)
- Mike Taulty's blog (new .NET stuff)
- The Moth (he has a blog apparently)
- Microsoft Research Headlines and News (what it says)
- Derik Whittaker (Alt.Net goodness)
- Devlicio.us (A collection of bloggers on .NET world stuff)
- Rick Strahl (ASP.NET, jQuery)
- Mike Hadlow (ALT.NET in particular TDD, Windsor, MVC.NET, LINQ and more)
- In Recovery (Sql Server)
- NotGartner (If the name wasn't appealing enough...)
- US ISV Developer Evangelism Team (keeping up with the wider MS world from a developers vantage)
- Rebecca Wirfs-Brock (OO stuff)
- JavaBlogs (what it says)
- Christian Shay (Oracle and .NET - yes I do have to deal with non-MS stuff)
- Tony Rogerson (Sql Server mostly - doesn't deserve to be last!)
For books the list is a lot shorter.
First up comes Object Thinking. I just loved this book and will happily rave about it to anyone. Having originally read Social Anthropology at university and then gone on to do a masters in social science research methodologies reading this book brought together for me a number of thoughts that had been swirling around in my mind about the potential importance of insights from Anthropology, Sociology and other social sciences that are rarely given any attention in computing. In fact when I read it, I read it as much as a anthropology of the practice of software development as a book that gives great concrete guidance on the practice of software development. It wasn't until going to a great talk by Alan Dean at the Southampton NxtGen that I realised I had probably missed a lot of what the author was actually trying to communicate. I fully intend to reread it before too long in the light of Alan's talk.
Next is 'Domain Driven Design' by Eric Evans. A fantastic book that has really changed the way that I try to design and code software. Putting it here is almost as much of a cliche as citing Scott Gu's blog but to ignore it would be to not mention an important part of my diet. I actually came to read it as it had been used so much as a counterpoint in Object Thinking's sometimes quite duological arguments.
Agile Project Management with Scrum by Ken Schweber. The first scrum book that I read. Easy to read, every page is worthwhile.
C# In Depth by John Skeet. I haven't quite finished this yet but I'm going to give it a mention anyway because already it is the best 'code' book I've read to date. A lot of coding books that I've got and read have really frustrated me because they all seem to cover the same old, same old ground every time. Jon's book is focused on C# and avoids being drawn in to the framework which is fantastic because the last thing that I'd have wanted is another book with another chapter on ADO.NET, ASP.NET, databinding, etc... I saw Jon give a talk on C# a while ago and for me it was the best technical talk I have ever attended. He involved the audience and I left feeling that I had really learnt something. This book is almost as good as his talks.
If C# in Depth was a book that I hadn't finished reading then the next book is a book that the authors haven't finished writing! 'Brownfield Application Development in .NET' by Kyle Baley and Donald Belcham is, so far, great and represents everything that I am trying to achieve in my job at the moment. I can't wait for the later chapters to be released and would recommend it to anyone who has to transform not just a poorly designed and coded piece of software, but the practices and patterns of a team also.
Other books worth a mention include the GoF Design Patterns, CLR via C#, Object Oriented Software Construction, The Knowledge Creating Company, The Object Primer, Being Digital (now that's going back some).
So where does this diet lead me? See the ALT.NET geek code on the right.