Today I asked myself a very important (from religious perspective) question "Why NOT to go into the microsoft .net/windows stuff? Why NOT to try to work for a company doing e.g. C#?". The reason for me to wonder about it was the job research I started few days ago. I saw that many potentially interesting companies (smaller and larger) decide to do their projects basing on Bill's technology. Why is that? I decided to check it out and since the company I work for at the moment belongs to this "set" I decided to ask some of my "non-Java anymore" colleges what are they thinking. The common answer was "It's easier", "It's faster" or "You can do more with it!", "It's less buggy." or even something which totally killed me "Open source is for children." (btw. I don't think that children would be capable to develop gcc compiler or write Linux kernel, but whatever..).
One of the primary reasons why I did not and still do not belong to .NET clan (not even Windows clan) is the (again somehow very religious) fact that I simply never liked the company. The whole story about how they destroyed Netscape (btw. did you know that few years ago people used the phrase "to netscape" on "to surf on the Internet"?), how Bill used to treat (talk to) his employees, the whole "let's sell the beta software to people" crap. To me something seemed wrong about them. Besides, I've never liked Windows anyway!
So, coming back to the main subject of this post... Why not to switch?. Here are some of my points:
- I don't like windows. It's an operating system which comes with nothing and if you want something you need to pay.
- I'm a developer... if Java, Python or Ruby is hard to me I should probably change my profession.
- People say that .NET is faster? Faster then what? Web apps are faster? I didn't notice. Besides, I'm a Linux user... never really seen it in action on my system. Hmm... why? :-)
- Can you really do more with it? I do not think so. With open source only sky is the limit. It's just the matter of your skills. With .NET, the Bill is the limit!
- Some say that .NET is less buggy.. but how do thay know if they've never seen the sources anyway?
- Dummy ".. is for children" argument. I do not know any children who develop stable, real time, embedded software. And even if there are such, this rather means that they must be very smart, or am I wrong here!?
To be honest I must say that all the answers that I got from my colleges were (not to use bad words) crappy. They sound kind of like... like something that you may hear in a church. "Believe me, it is like I say".. and no real arguments which would confirm that it is right. Sorry, I don't believe Microsoft since win 3.11.
So... I decided not to change my "religion" and stay with open source to be free and creative developer who's not afraid to take a look at someone else's code (even if it's Perl). Yes, that's the idea of open source, if you look into some serious code, you may be sure that you will learn something new. If you find the code bad, then you have an option to make it better. If many people make lots of code better then the world is more beautiful ;-D
You could say... the problem is that the company has to spend the money on developers. The more they build in shorter period of time the better. In my opinion that's just some crap for "insane management people" who do not understand technology anyway.
Seriously speaking, it does not matter what you use, what matters is that you feel good about it and can work efficiently with it. I feel good about open stuff and hope to find an employer who also does.
May the force be with you!