Why One .NET Developer is Leaving the Ecosystem

In the ever-changing world of coding, one particular developer has decided to turn his back on the .NET framework to move onto newer, more promising technologies. In a recent post, Justin Angel discussed why he is moving on and offers advice for other .NET developers.

Angel spent the last dozen years in the .NET ecosystem. He even helped to build it during his time working at Microsoft and Nokia. However, his recent experiences and research has led him to some fairly stark conclusions. The most startling being the plummeting rate of jobs around the Microsoft developer ecosystem.

According to some simple research on job aggregation site Indeed.com, there has been around a 60% reduction in C# jobs since its peak in 2010. This is backed up by around 50% drop in C# developer interest since 2012, according to the TIOBE developer interest index. However, for Angel it seems that the root cause is Microsoft itself.

Firstly, with iOS and Android taking up 90% of the worldwide smartphone market, .NET developers have little room to compete. But it seems that Microsoft’s “ever revolving door of new technologies” is the driving force behind the decline thanks to so many new products and technologies being ushered in with little regard for what came before.

Most recently, Angel noticed that in Microsoft’s Azure documentation, .NET is on equal footing with Node.js, Java, PHP, Python and Ruby, and he feels that Microsoft has simply given up on .NET. That is why he has chosen to move on to a full-time position using Java as an Android developer.

The author admits that he may be wrong, but he also worries that he is right and encourages other .NET developers to seriously consider their future. With so many popular non-Microsoft frameworks and the rise of mobile platforms, developers have a multitude of options available if they wish to pivot their careers and keep current.

Original Article

The Collapse of the .Net Ecosystem

Martin W Brennan Martin W Brennan is a co-founder of ViewPop, the social network that puts the creation of 3D photos and videos in the hands of anyone with a smartphone. For his day job, Martin is a copywriting consultant at We Write Words, learning about the world as he writes about it.

Comments

Comments(18)

welderreferer

this something new for me,althought i use window..

DickAndUranus

This article is a gross mirepresentation of Mr. Angel's comments.

david_berlind

How so? We pride ourselves on fair and accurate coverage.  "Gross" means way way off base. I'd like more feedback on how our summary is a "gross misrepresentation."  Thanks.

David Berlind

Editor-in-Chief

ProgrammableWeb

kmcksic

Let him leave. The article sounds more like that of a bitter person looking to inflict pain to those he feels have wronged him. In this day and age I actually see more .NET positions than that of iOS and Android...if you look at more places than indeed.com. I see an article a week about someone who is leaving the iOS, Android, ,NET, Ruby, etc. camp for one reason or another. If you want to move on to another camp, by all means do so, but don't try to drag others around with you because you feel hurt.

vincpa

Supporting other platforms on Azure simply means they have a broarder customer base. AWS is no different, they support many development platforms and ecosystems.

Perhaps this is a link bait article, not sure, but last time I checked, C# != .NET. Many languages run on .NET. What about the rise of F#? No mention of that anywhere.

Things are evolving in unpredictable ways and some "simple research on job aggregation" on one employment site doesn't mean much to me.

david_berlind

Vincpa, you raise some good points, particularly when it comes to server-side app development. But the example the author gives cites issues on the client-side where the Microsoft ecosystem has little to contribute to platforms like iOS and Android (nor a serious contender from a marketshare POV for it's own mobile platform). For example, to the extent that we maintain directories here at ProgrammableWeb and one of those is for SDKs, the number of SDKs that we see for the Windows ecosystem pales when compared to the others. The rise to prominence of SDKs speaks to the demand being driven by business for native mobile apps on both Android and iOS which in turn is driving demand for the appropriate talent. Granted, there's usually some server-side stuff to build and it's possible that some of that will get built using something from the Microsoft ecosystem. But the client-side is still a bit problematic for Microsoft given the dominance of Objective C and Swift for iOS, and Java for Android.  

mtcoder

However as time goes on client languages will flat line merge. Meaning eventually and it's starting to happen html5 will be standard and feature rich enough that it will become the main standard. Which is what we are already seeing in regards to all client based specific languages taking job hits. Also as MS is proving to be the case it won't be much longer before you open Visual Studio program your application and hit export to iOS, and Android and poof you got those specific client exports. If the gaming industry can have a write once deploy everywhere with Unreal and Unity. It's only a matter of time before software production moves into that same realm, and MS is been beating VS into that mold now for some time. Does that mean .net is going to be the key or not key hard to say. I wouldn't be surprised if they didn't fall back to a c++ unified language. Overall though each client technology has it's plus and minus, they all have a means to exist and each does something specific very well. It's more a trend that developers are being asked to know more than just one language now, not that any language is in trouble over the other. The hybrid stack is where it's currently at, maybe we will get lucky though and push it back to a set unified stack, if we could ever get so lucky. Out of all the players MS is the only one attempting to do that though, so we will just have to see where that falls.

 

david_berlind

@MTcoder  You raise some valid points that lead in the direction of the hybrid technologies getting traction now.  Build a Web app and wrap it up for iOS or Android so that, in addition to launching it through URL, you can download it from the App Store or Google Play.  But with many of these apps, a significant amount of the heavy lifting takes place on the server side. So, while  HTML5/CSS3/JS (what I call H5C3J) ends up as a go-to on the client side, the truth is that so long as you practice great API design and decoupling, anything can power that on the server side.  This architecture is in fact one of the most compelling reasons to reinvent your IT by service-orienting it with APIs and microservices and what gives companies like Parse the freedom to pick a stack that, in their minds, best addresses their current and future needs; be they performance, availability, scale, etc. 

So, while the client side could eventually settle on the Web stack, I don't see that happening any time soon on the server side. That said, what I do see is a pace of innovation when it comes to dev tooling and devops that is quite frightening..... creating an element of doubt when it comes to commiting to anything.  This sentiment is captured quite nicely here.

david_berlind

@MtCoder.... funny you mention C++ and client languages merging.  How about the news of WebAssembly whereby long term, pretty much any language can be compiled into a Web app... starting with C++.   I didn't see it coming.. but our coverage will be here, momentarily. That's quite a crystal ball you have.

scottgurvey

Link to original article is broken, very disappointing.

david_berlind

It works for me as well Scott. Sorry you are having the problem. It's possible that the destination page was down for a while.  I don't know how else to explain it. Let us know if the problem persists.

masilver

The author does make some good points. Sometimes, .net development feels like you are building on sand. As soon as you build a website with web forms, MVC becomes the standard, etc. But, MS is more responsive than ever. Their MVC is fantastic and continues improve. It's hard to strike a balance between obsolescence and progression and MS seems to be doing a decent job.

I can't blame someone for switching jobs, but C# and .net are reaching their prime. Perhaps the jobs aren't as plentiful, I have no idea, but as long as I'm not programming in PHP, I'm happy.

Zigurd Mednieks

t's a strange turn of events. C# and .NET, and the class libraries are a really nice toolchain. Yet Microsoft found a way to screw it up: "But it seems that Microsoft’s 'ever revolving door of new technologies' is the driving force behind the decline thanks to so many new products and technologies being ushered in with little regard for what came before." That sums it up.

Had they focused on .NET and C#, they would have had a 7 year jump on some key technologies in Android. I was writing mobile apps in Visual Studio, drag-dropping classes between client and server layers, in C#, for a Compaq iPaq running Pocket PC and .NET Compact framework, connected to the Internet on an Ericsson 2.5G (GPRS) handset. As nice as Android is, you can't achieve the same level of toolchain unity with Android and Google App Engine even today.

gsans

I am a former Senior .NET Developer with over 15y experience. Last year decided to try something radically new AngularJS/JavaScript/Django/Python/MongoDB. It was fun! Some months later decided to focus only in JavaScript/AngularJS. I love JavaScript mix of naivety and maturity. In my eyes, you are totally obsolete if you are not doing JavaScript/Node. The Web has changed dramatically towards JavaScript. Jump off .NET before is too late.

david_berlind

Gsans, you're not alone in having made this switch. Javascript is more popular than ever.. partially evidenced by Microsoft's own activity whereby they're forking Node with a promise to contribute their work back to the community. 

Meanwhile, there are plenty of .NET developers who remain committed to the platform and more who for one reason or another are joining the ecosystem. Microsoft's platforms can do it all ...from writing Web apps that consume APIs to offering Web API-provisioning capabilities as a part of Azure. One observation though... when it comes to SDKs that we find (and we research a LOT of SDKs), SDKs for the .NET platform a few and far between.