Working as a consultant, I often find myself preaching the .NET gospel attempting to "save" my client's development teams. I've yet to see a team that hasn't been able to benefit from implementing Microsoft platform solutions, but initially there's a general vibe against drinking the cool-aid. Most of this push back stems from a lack of understanding of the tools that are available. I'm not here to say that .NET can solve world peace, but enterprise software applications can be rapidly developed, easily maintained, scale out to support demand and provide the interoperability required to support legacy systems.
Most of my work consists of providing architectural designs, rapid proofs of concepts, and development team direction through implementation before moving on to the next client. That said, there's often a lot of instruction required to bring my colleagues up to speed, not just on the Microsoft .NET platform and related tools, but on fundamental software development skills applied at a more general level.
Once more I have been asked to provide instruction now after having sold the concept, and again I kick myself for not saving previously prepared training sessions given to other clients. I am happy to do this again though, since bringing more developers to the .NET community makes me very happy, and often what these people can bring TO the .NET community only benefits everyone!
I'd like to use this forum to both keep this training material handy, and also to share with the community the guidance that I can offer after having used the .NET platform almost exclusively for the past six years (~2002).
My goal is to start from the basics, ultimately offering you an understanding of how to architect distributed applications for your enterprise.
John Saunders
MCP, MCDST, MCAD, MCSD
