Monday, January 26, 2009

The circle of most influencing community members

Somebody recently asked me to name the top 5 of most influencing members from the software developer community. Since I spend a lot of my time reading books, articles and blog posts, that list is actually quite long. So I decided to name the six professionals who have been inspiring me the most in the last year or two. Notice that the order is not of any significance.

Ayende Rahien
If you haven't heard of Ayende Rahien you must live behind a rock. Not only does he produce over 1000 blog posts a year, he is the creator of Rhino Mocks and a very important participant in the NHibernate community. And what I particularly like about his posts is that he is not afraid to publicly disagree with the general public. He is very open in publicly discussing important events and occurrences from the .NET community, even if it deals with feedback he got on his own work.

Billy McCafferty
I first noticed Billy after reading his CodePlex article on best practices and design principles when using NHibernate in an enterprise architecture. I haven't heard a lot from him anymore other than his recent investment in his S#arp Architecture, but that article really boosted my interest in harvesting best practices and design patterns for building serious systems.

David Hayden
After working for a company that invested big time in custom software factories with almost no return-of-investment, I decided to try to be more pragmatic and started to use what's there. Particularly the stuff provided by Patterns & Practices drew my attention, and since then I've been very involved in their software factory endeavors. But if there is one man which name pops up everywhere where Web Client Software Factory or Enterprise Library is covered, it's David Hayden. He has provided so much important advice and examples on using, extending and exploiting these P&P marbles, I think I would not have been so successful in using them during my day-to-day work.

Jimmy Nilsson
Pieter-Joost van der Sande, one of the funnier community members, recently pointed me at a book written by Jimmy Nilsson: Applying Domain Driven Design. It more or less dealt with the exact same domain modeling design issues I run into regularly. But this was one of those books I wish I would have read it two years earlier. It would have saved me from all the trials and tribulations that I ran into trying to develop a nicely integrated architecture based on the P&P stuff, NHibernate and service orientation. But more importantly, one of things his book did was to really jumpstart my interest in Test Driven Development.

Jeremy Miller
And that brings me to another notable member of the .NET community, Jeremy D. Miller. After reading Jimmy's book I became very eager for more information and guidance on TDD. And as a long time reader of Codebetter.com, I discovered that Jeremy wrote an awful amount of articles on TDD and design for testability. Since then, we have been applying his 'laws' as much as possible resulting in much more consideration for writing well designed, loosely coupled and testable code. And as that would not be enough, he also wrote some great articles on Agile development and team coaching as well. He sure knows what he is talking about.

Martin Fowler
Last but not least is the guy that I suspect being the inspiration for most of the other guys above. I mean, most of the stuff mentioned by them is heavily based on the elementary design patterns 'discovered' by Fowler. If you haven't at least browsed through his book Patterns of Enterprise Application Architecture now is the time if you're considering to be a serious software architect. And while you're on it, also consider checking out the original bible by Eric Gamma and the other members of the Gang of Four, Design Patterns: Elements of Reusable Object-Oriented Software.