Sunday, May 13, 2007

Giving up on Microsoft?

Jeff Atwood @ Coding Horror is frustrated by Mike Gunderloy's attitude, which is a complete break from Microsoft tools for development. He claims that it makes Mike fall into the category of Microsoft hater. I don't think that is true.

Breaking up with Microsoft tools doesn't mean you don't like Microsoft and certainly doesn't mean you hate them.

I'm talking from personal experience, I did an experiment like Mike a few months ago, I left the company I used to work for (with Microsoft technology and tools) and moved to a company that uses Open Source software (mostly Java based). I did it mostly for the challenge and the opportunity to learn a new tool set. The other side of the "great rift". Since then out of reasons which are unconnected to this reason I left that company and am now working in a different company once again based on Microsoft technology and tools (and it is a StartUp...).

Still I don't think of any of the sides as an enemy, I learned a few things, which I knew before intuitively and now for a fact:
1. You can accomplish most any programming task in any of the environments without any serious handicap (nowadays the modern languages and libraries are very much parallel in capabilities) and for every lack that exists, there is always some pretty simple workaround.
2. To be an effective programmer today you need good tools, again the larger environments have good/comparable tools.
3. To develop complex applications, no matter in which environment the tool subset you need becomes quite large (the list Jeff has on his post doesn't seem to be longer than a comparable list for developing a database driven website using the "Java" way)

To follow the end of his post, I do know people on "the other side" and have an understanding of the differences as they are, I also make it a point to keep track of what is happening, and though today I'm mainly a Microsoft Developer, I can easily see myself using Ruby on Rails to develop my personal website (although I'd probably prefer using MS SQL Server for the DB). My Point is you have to choose a side at one point simply because there is so much to learn to become good at one of them, if you try to be good at both you will end being mediocre at best at both (unless of course you are a really smart and fast person), and that is doing yourself a disservice on the professional side.

I agree that there should be no hate and that there should be co-operation, but eventually a company (small/startup size) can only hire that many people, and they have to focus and be as professional as possible, and that usually entails deciding on a single platform to use. It might be any platform that they feel would be the best for their product, but they would rarely use two different ones.

Here is a long rant that basically agrees with the post I'm supposed to criticize... Why did I even write this?

Mike, you are doing a brave thing, the thought of risking so much just to try out new things, when everything is fine where you already experienced - makes me shiver. I'm sure you will succeed, good luck!

1 comment:

Anonymous said...

nice review! really enjoyed reading that.

also i liked was the way you linked the two words in mike's name to each of his sites. I now plan to do that myself next time I mention him in a blog ;-)

nice stuff -- an informed view.