I looked for Senior Software Developer positions, and one of the things that I’ve noticed is that lots of enterprises look for people with experience with technologies such as .NET and C#.
I personally HATE Microsoft and their platforms. From my experience they take all the fun from developing by creating stupid compile errors with their stupid gigantic Visual Studio and buggy dependencies. Not to mention their ridiculous resources greedy and unsecured Windows OS! Also there are no healthy and independent communities around a their technologies. They don’t open source much of their technologies so it would be easier to hack their tools, and harder to make security patches.
Why enterprises do that for themselves and for their developers?
Do you think enterprises will make a turn in this attitude?
First, every company uses Windows, you can’t avoid this and you’ll have to learn how to use all the tools (Visual Studio, Office365, everything else). Yes it sucks, no you can’t use another OS if you want to eat.
As for why .NET and C#: my shitty theory is that companies used to write software in C++. Then Java came along but it was not evolving fast enough, and Oracle was suing the whole planet. Microsoft invented C# to annoy everyone (both C++ and Java) and it worked because C# is actually a good language. You have a big SDK, you can do everything that Java does, it’s easier than C++, and you can use your C++ code with C++/CLI. C# was a good alternative and people used it.
C++ is too hard (I know, I use it daily), and Java is dead. I don’t think companies who use C# will go back to using an older language. That would be suicidal.