I've been developing software since the early 80s, starting with Fortran (on punch cards!), and progressing on through Basic, Cobol, PL1, C, C++, C#, SQL, Java, various assembly languages, ad nauseum. I've written practically every kind of software that can be written from low level device drivers to desktop applications to enterprise client server, to enterprise distributed SOA applications, to Windows services, to Web Services, to Web UIs. In the past 20 years I have gravitated toward the banking / trading industry and have worked almost exclusively as a contract developer. The upshot of choosing a contract career path is that I have worked at a LOT of different companies doing a LOT of different things. As a result of this, I have a unique viewpoint on processes and techniques, having seen it all - the good, the bad, and the very ugly. Ergo, I have a passion around encouraging improvements in the way our profession does it's business. We have come a long way, but we still have a very long way to go before we arrive at a place where we can say that we have mastered the art and science of supplying very high quality software in a very rapid fashion. This forum is one of the tools that can help us achieve that goal, so onward through the fog.