Sunday, November 19, 2006

Microsoft Religion

A number of years ago, Microsoft Marketing people started using the title Evangelist. The idea as I remember it was to preach to the masses about the wonders and joys of Microsoft products. I'm here to tell you that it worked.

Growing up, my father use to tell me that it was important to use the right tool for the job. He then proceeded to use any old thing lying around to get the job done. We NEVER had the right tool for the job in our house. We used screwdrivers as scrapers, hammers as precision force tools and masking tape instead of duct Duct tape. We got the job done.

I took this philosophy with me when I left the house. I am a tool nut. I love to cook and so, Williams Sanoma is one big toy store. I can't walk in without buying that special olive pitting tool or a new melon baller. I love to get the right tool. My father was correct on all counts. Using the right tool makes the job easier, safer and faster. He was also correct in that sometimes buying the right tool is a waste of money. The extra cost for the tool does not justify the improved productivity. Just as long as the job gets done.

I recently worked in a Microsoft shop that had three programmers. They used Microsoft tools and systems to build a very nice IT infrastructure. Their web site was built on a third party product on top of ASP and it was severely hampering their ability to maintain, improve and change.

I suggested that they consider splitting the system into two parts. The back end part would be 100% Microsoft, using all the productivity and management tools that Microsoft has developed over the years. For the front end, I suggested that we look at all the alternatives and consider Linux and open source options in addition to .NET.

I was treated as a heretic. Why would I even consider those other heathen platforms? Microsoft was the best. It enabled rapid development, reliability, easy maintenance and strong management. Those other tools were just has-beens and even considering them was anathema.

One employee told me that if we used a MYSQL database, he would leave the firm. His Microsoft religion allowed no other systems to be used. Only in a pure Microsoft shop could he improve his technical background and resale value.

Leaving aside the issue of why other systems might or might not be appropriate, since when did Microsoft become so strong that all other systems are worthless? Has Microsoft built a system and associated tools that are so strong that there are no alternatives? How did Microsoft build such a strong cult?

The Microsoft philosophy is to provide one tool that does everything. By definition, it is complicated. There are so many demands on it that the documentation fills multiple DVDs. If you had to choose only one tool, then choose Microsoft. It may take a while to find the right function or feature, but you know that it exists.

The alternative Unix philosophy has been to build small custom tools that do one job well. You aggregate these tools to get the job done. This has the benefit of allowing a developer to replace one or more of these tools with something faster, more robust or cheaper. The drawback is that there is additional overhead in communicating between these components.

My preference is for small tools. They can be blindingly fast or slow as molasses, but a developer can choose pick the right tool for each job. It may not be the best tool, but it will work, just like my fathers masking tape.

I don't have all the answers. I accept that some people believe that Microsoft is the future and that all other options are dead ends. I clearly disagree. If that makes me a heathen and unbeliever, then so be it. I will continue to build the right system for each job. Not the best, not the faster, not the cheapest, but just right.


  • I completely agree with you but what engineer swears by MS tools? I understand that someone who learned programming at a school that received all the MS dev tools for free and knew nothing better would think that way, but any developer who has gone through the pain of learning Unix, would be aghast at the though of having to use only MS tools. In my old company our architect was even aghast at the idea of having to use Oracle and not MySQL.

    There are some useful aspects to MS tools, and the .NET suite can make developitg a desktop app quicker, but I think that a job should always be developed using the tool that best fits the problem, rather than fitting the problem to the tool.

    By Blogger Amnon, at 11:49 AM, November 20, 2006  

Post a Comment

<< Home