JM (Jason Meridth)

JM (Jason Meridth)

Learn, Converse, Share

20 Dec 2007

What I do

In response to being tagged by Ben Scheirman:

I’m a full-time software developer currently working for Wachovia (formerly World Savings) in San Antonio, TX.  I’m a lead developer on the team I’m on.  This doesn’t mean I’m a master developer, it just means that upper management has deemed my coding quality sufficient and also that I have the tendencies to be a leader.

Our current project is an ASP.NET 2.0 Domain.  We have multiple applications running from 1 code base (I’m not too fond of it, but it works). We have 40 projects in our 1 solution.  Definitely needs cleaning but it is a refactoring nightmare.  We’ve learned from our mistakes and all new items are correctly placed via inserted DDD knowledge from my manager agile coach, Joe Ocampo.

I think the biggest thing we have is 6000+ unit tests.  Some are not great, but we have a good amount of our code base covered.  We’re talking hundreds of thousands of lines of code.  Nice to know the barn door won’t fall off when we milk the cow, so to say.

We have custom SqlMappers instead of the, now popular and effective, NHibernate Repositories.  One of my colleagues has recently spent some time in trying to get the NHibernateSessionManager wired in but the time to actually implement has not presented itself lately.

This is do to the fact that we have been focused on completely automating our deployment process.  I’m talking deleting/re-building of websites, app pools, smtp, COM+ deployment, assigning SSL certs, etc.  We used the sdc build tasks provided by Microsoft and have extended them as needed (Be aware the unit tests are for MS test.  We stripped out the implementation projects into a new solution and created our own NUnit project to unit test any extending of the code).

We have 4 environments right now, Systems Integrated Testing (SIT), User Acceptance Testing (UAT), Training, and Production (soon to deprecate Training and be down to just 3).  For UAT and greater deployments we interact with Serena’s Dimensions PVCS tool to enforce auditing and corporate scrutiny.  It grabs our latest successful branch build from CruiseControl, stores it, then uses Control-M for automated deployment.  Once the files are deployed to the servers we use javascript and msbuild to deploy to that specific server.

We use CruiseControl for our Continous Integration and SourceSafe for our version control (switching to WinCVS soon, man I wish it was Subversion).  Our current build number is 10239.  That is after about 3 years of development.  Nuts, huh?

We have 12 developers, including 2 leads, and 2 managers.  Joe oversees all of us.

In summary, we are using the following frameworks, tools:

  • NAnt, NAnt Contrib (for msbuild task)

  • CruiseControl.NET

  • SourceSafe

  • Dimensions (for post SIT deployments: UAT, Training, Production)

  • NUnit

  • ReSharper

  • Multiple languages (C#, VBScript, Javascript)

  • MS Exception Block

  • VS 2005

  • Rhino Mocks

  • Notepad++

  • Serena Dimensions

  • Control-M

  • COM+

  • MS SDC Library (custom msbuild tasks)

Update: I forgot these:

  • XPlanner
  • Screw Turn Wiki

Joe may add more after I tag him.  I’m tagging:

Joe Ocampo

Nelson Montalvo

Sean Chambers

Jimmy Bogard

Joey Beninghove

Comments

Joseph Nielsen: Hey Jason. I replaced you at Cheridan. I’m now working at SWBC. I got something you might be interested in.

Joseph Nielsen: Give me a call