Friday, February 13, 2009

underrated: Class Library Projects

This is the preface for vsweb.

My first job after college was programming and sysadmin at BigCo, mostly working on the ASP.NET framework. Early on, I was basically working alone as an programmer although I had a mentor/partner for the sysadmin role. Later, I joined a team that was just beginning to function in fact, although in the tradition of BigCo it had been called a "team" for years before that. There was little development infrastructure in place, and what we had was disfunctional -- think Visual SourceSafe, with MS Office documents and SharePoint lists for defect tracking and planning. I suggested we switch to SVN, my teammate Mike pushed for draco.net (CI), I setup a Bugzilla instance, we held an NUnit tutorial, and a couple of years later we had some some experience with organizing a team software development effort and supporting it with various tools. Things eventually stabilized and the main challenge at work shifted from learning to explaining.

My second job was coaching and mentoring for another BigCo. My new employer had not a dozen but hundreds of programmers, hence the ability specialize full-time on reflective work. In this role, I was exposed to a much larger and broader set of projects than I would have been as an ordinary programmer. I had the opportunity to revisit the lessons I'd learned before, see how they fit with new evidence, and articulate them for the benefit of others.

So, that's how I came to write vsweb: why web application developers should use Class Library Projects rather than project templates whose names include the word "web." Enjoy.