My Tweets

  • in Austin, TX for the weekend visiting my in-laws...gotta do some tech support for my FIL as well.
  • @CalebJenkins: I think Trudy's in Austin skews that statistic big time...
  • @dpenton: agreed there's always value as it forces SRP and SoC. Dependencies always get abstracted out when unit testing is enforced too.
  • @dpenton: unit testing has value when reqs come from biz analysts. If devs/former devs are involved, reqs get more attention/thought.
  • @jbogard: Common scenario I've seen is when properties have an Enum that does a straight type mapping to the DB. Not a flexible design.

Xbox Gamer Tag

Microsoft at a Crossroads

Thursday, May 31 2007 2 Comments

Microsoft's developer story has recently diverged into a tale of two cities.  Martin Fowler and Sam Gentile both recently wrote about it.

On one hand, you have the traditional Mort-focused camp, which focuses on creating drag-and-drop developer tools like GridViews, DataSources, and Typed DataSets.  For this group, the traditional ASP.NET WebForm model appears to be the quickest way to Rapid Application Development.  However, RAD technologies like these tend to break down when they are used on many large scale projects.  This is generally is due to the lack of testability and the inherent bad practices that many new ASP.NET developers pick up when using the tools out of the box.  Without some solid best practices guidance, many ASP.NET projects often fall into a black hole when they reach the testing stage. 

On the other hand, there is a large community of software professionals that utilize Agile development, Open Source tools, and better developer practices while still focusing on the Microsoft platform for their projects.  These developers often balk at Microsoft's attempts to copy Open Source projects and many find Microsoft's whole attitude towards open source to be very frustrating.  There has recently been a lot of concern that this group is likely to migrate to the Next Big Thing (whatever that may be) and leave the platform behind all together.

While there are groups within Redmond that attempt to educate developers around some best practices, they aren't promoted well by Microsoft.  Also they also tend to face some backlash from the larger developer community due to the shaky middle ground they meet between the two sides of the fence.

I am currently focused on developing for the Microsoft platform, but I have no reservations about moving to another platform at some point in my career.  I've done it before and I can easily do it again.  My main reason for sticking with .NET has been the amazing friends and colleagues that I've met while working with the platform.  The community that has grown around the .NET platform has been it's biggest strong point for me thus far.  And I think that if the more prominent members of this community start moving to another platform, I will definitely take a look at that platform for myself.

Comments

#1 On June 04,2007 at 10:22 PM Mike Schinkel said:

It is interesting to finally start to see other people talk about the same things I've been ranting about since last October...

www.mikeschinkel.com/.../Microsoft

#2 On June 10,2007 at 12:41 PM Evan said:

Yes, I agree with you. I really would ultimately like to migrate to RoR at *some* point. First, I think the number of RoR jobs needs to go up. If they can maintain their momentum, this will happen eventually. Second, I have to fall back to the Agile Manifesto. I value individuals and interactions above processes and tools. I value the talented friends and coworkers around me above the shiny new tool on the shelf. This includes those who don't see eye to eye with me.

The community around the MS stack is really good. It just has a lot of learning to do. This includes the very smart guys working over at MS. Many of them, who create our next generation tools, don't truely get the "agile development" way of working. The recent Entity Framework bruhaha is evidence of this. BUT, times are changing, and even one of the lead EF devs said he thinks he finally gets Persistence Ignorance.

In short, we can bail now and leave our MS community behind, or we can stick it out and watch the transformation. It will come.