I have been mostly silent for the past year as I have been busy working with a client in Western Massachusetts on a very interesting ASP.NET 2.0 project (using C# 2.0). I had the pleasure of working with one of the best teams I have seen in my career -- all were bright, willing to learn, and up to the daunting task of converting skills from pre .NET right into .NET 2.0 and object-oriented programming. I taught a course to the company earlier last year and they asked me to come and help with the architecture and final development of a very time-critical ASP.NET application. I am very, very happy to say they met their goals with the project going live last week and right on target! In the end they have a very robust, highly maintainable, flexible, and extensible architecture that met their immediate needs and certainly future needs as well.
One of the most impressive things to me was how the team caught on to designing the system with Domain Driven Design (DDD) by thinking of the business domain and translating that into objects that made sense. Also, Test Driven Development (TDD) with NUnit and TestDriven.NET (also, the testing tools that are part of ReSharper) was shown and it was caught well by the team, using Dependency Injection and other principles of DDD to test the domain without the use of the database (of course, there was some testing of the database at unit level as well, but the core objects were tested without the need of a database). Instead of building a traditional data-centric application as was most familiar, they built more of an object/domain centric application that as I said is robust and highly maintainable, flexible, and extensible. Of course, I also helped with making sure the application was secure and I put together a nice web services/SOA solution using WCF I think will grow with the company. It certainly was a great opportunity, and I am very proud to have been part of the team's accomplishments.
Now, on to other things. I look to continue speaking, training, performing secure code audits and security testing, and working on similar projects as this one. I am currently available for contract and/or other opportunities. You can contact me through my web site or the contact page of this blog if I may be of assistance.