Saturday, March 21, 2009

Dream Team

I've been developing software professionally now for about 7 years and for the past three I've been a consultant.  I've met a lot of people, been on a lot of teams, and worked on some pretty cool projects.  Recently I rolled off of a client project that was probably one of the most challenging projects I've ever worked on.  My previous software development experience has been mostly with financial applications.  This is helpful when trying to put the requirements for the next project into some sort of context.  A loan is a loan and an interest rate is an interest rate.  My last client was a Biotechnology company.  I've never worked with highly scientific data and terminology before.  Trying to put the project requirements into some familiar context was pretty difficult.  The same level of difficulty though also made for a very rewarding environment.  But that's not the point of this post.  What I found most rewarding about the project was the team that came together.  I was a member of a 5 person tech lead team.  We had a collective experience that complemented each other better than any team I've ever worked on.  Each of us could challenge the others in different ways.  The dynamic of the team really forced you to think a problem through, and even then, when I felt I had a pretty solid design, they still poked holes in it.  I can confidently say that I'm most proud of some of the components I wrote there.  None of us knew each other before this project, and the Madison IT community is like small town America where everybody knows everybody, or so it seems.  How we all ended up coming together is a mystery.