This blog post has been a long time coming. I initially started doing web development using ASP.NET and C#. I was honored to be given MVP distinction by Microsoft for the years of 2010 and 2011. I wanted to wait until that had expired before commenting on my departure from the world of .NET development.
I started my career within the .NET community, and my posts of late have been devoid of Microsoft references. I can only imagine that folks that enjoyed my "Web Forms to MVC" other C# posts are wondering where the love was lost. There is no love lost, I will be forever grateful to the .NET community for how they helped me get where I am today. There are several reasons that I no longer do .NET development professionally. I will try to explain them in this blog post.
First things first.
I have to get out the wonderful things about .NET development that I experienced on the way. The .NET community is extremely warm, and welcoming. .NET development has the highest female : male ratio in development I have seen. The reason for this is obvious: the people. They welcomed me when I was new, they helped me learn many things. I can't thank them enough.
The barrier for entry was low, there were few "well actually..." and more "welcome!" I was actively encouraged by my peers to contribute. I still call many people "friends" that I met back there. I hope to emulate some of the mentorship that I found back there with others in the future.
The Angry Rant
I have seen many people "quit" the world of Microsoft development. It usually draws out into a long thing with a Twitter battle, and angry comments, and a throw down to the teams that don't care enough about supporting their developers within Microsoft. The tools are bad, the direction of the languages are crazy, their support isn't fast, someone is a jerk, etc. It always calls me back to a time of message boards and people quitting the internet.
There is a primary disconnect with people that blame individuals, or direction, or other such surface issues, there is a failure to understand the business of Microsoft as a company. Microsoft makes money working with Enterprises. Microsoft answers to shareholders. Therefore, C#, F#, ASP.NET, and all other Microsoft frameworks/languages are a for profit operation. Yes, I am aware that the majority of their income does not come from these tools, and not even from $10,000 MS SQL Server licenses. However, the responsibility for all their employees, all the departments, and ultimately all the initiatives is to answer to their board.
Developers can not rationally expect this to lead to more perfect tools and a better community. Money buys you a lot of resources as a company, but, ultimately, your driving force is apparent on what you create.
What this has to do with me
Ok, well, Microsoft supports me as a developer. Pays for me to come visit them, eat on their dime, and I even get these really sweet jackets. Why disrupt something so choice? For me, it comes down to my fundamentals as a person.
I believe in the internet. I believe in people. I believe that people have created something beautiful, and it's up to us as developers to build and grow it.
Being a software developer in this age is a privilege, something the world has given me, and a responsibility.
I believe in open, I believe in being motivated by what is best for the web, and not what is best for my company. Making that decision over and over again has cost me a lot of money, and many perceived "opportunities" but my soul remains intact and I believe I am contributing to an amazing time in history with my fellow (wo)man in mind.
JavaScript is free. JavaScript is open. JavaScript is built by people that love the same things I do, and only answer to this community, their consciences, and what drives them.
For me it was undebatable that this is where I wanted to be.
The People
I know many people that are not only .NET developers, but work to build the related languages and frameworks from within Microsoft. I don't consider them sellouts. I think they are making their difference where they can, and want to. I am doing the same. I respect them not only as developers, but as people, and friends. I am eternally grateful to them for giving me the introduction to community and web development they did. I look forward to continue down the same path, building web one link at a time.