[FoRK] The collapse of the .net ecosystem
Stephen D. Williams
sdw at lig.net
Fri Jun 19 02:08:20 PDT 2015
This has been obvious for quite a while, years. Now it is just glaring.
Author name: Justin Angel Twitter: @JustinAngel Short-bio: Justin Angel worked for Microsoft building Silverlight, Nokia as the
Principal Engineer for Windows Phone development, and at Apple as the lead windows phone developer for Beats Music.
The collapse of the .net ecosystem
The golden age of the Microsoft developer ecosystem is behind us and so could be your career. The Microsoft developer ecosystem is
experiencing plummeting employment opportunities and declining community interest. You might have felt it for yourself and now we
have numbers to prove it. Sure, you’ll always be able to find a job working in C# (like you would with COBOL), but you’ll miss out
on customer reach and risk falling behind the technology curve. I’m here to convince you to seriously consider retooling your career
in another technology. Let’s get us started by reviewing some publicly available statistics.
Plummeting Employment Statistics
Indeed.com job site aggregates job ads from all over the internet including LinkedIn, GlassDoor, Dice, CyberCoders, Monster and many
other job sites. The number of job ads on Indeed.com is a strong indication of the overall employment trends for each technology.
Indeed.com generously share the employment trends they’re seeing and the job graph for C# is truly disconcerting:
The graph above shows an approximate 60% reduction in C# jobs since the golden days of 2010. The number of C# jobs today is back to
2006 levels. What does that mean for you the next time you’re looking for a new job?
Microsoft’s developer ecosystem fails to supply employment to its developers. That’s a critical deathblow to any professional
Sinking Developer Interest
The TIOBE developer interest index rates programming languages based on the number of professional engineers world-wide, courses
offered, third party vendors and search engines statistics. It’s consistently tracking C# as a top programming language for over
decade. During the last five years we can see a sharp decline in C# developer interest.
TIOBE developer index has C# developer interest down approximately 60% down back to 2006-2008 levels. The first time I heard this
number I was flabbergasted. What do other developers knew that I didn’t?
Example: Google trends down by 50%
We can see an example of waning developer interest by looking at Google search trends. Google search volume for C# is down
approximately 50% since 2009.
Personally I use google to help find answers to technical questions all the time, so it’s worrying to see there’s a lot less people
doing just that. C# search volume being down approximately 50% is a great example of what information gets folded into the TIOBE
developer interest index we previously looked at.
Open source contributors are leaving
OpenHub.net aggregates information from multiple open source hosting sites including Codeplex, SourceForge and others. They report
that the number of developers contributing to C# open source projects is down by approximately 40% since 2010.
Many .net developers use open source projects to improve their productivity. What do you think it means if the very people who build
those projects are leaving the ecosystem?
Are these statistics really meaningful?
There’s an undeniable downward trend shown across all data sources we’ve reviewed: The .net ecosystem boomed in 2010 and lost
approximately 40%-60% of adoption since then.
Independently each one of these phenomena might be explained away by reviewing the methodology used to compile each of these
indices, selecting them and checking for various sampling errors. But collectively these numbers should make you think.
Definitely ask yourselves if I’m wrong because I could be. But also ask yourselves “What if Justin’s right? What if the .net
ecosystem is in freefall? What does that mean for me for my career? If the .net ecosystem is really collapsing what actions should I
Why is this happening to .net?
Only a detailed historical analysis can really explain the processes and causes involved here. I can’t provide that, but I can
venture a few educated guesses of my own:
1) The reach of Microsoft’s developer ecosystem has declined in the past five years due to the rise of non-Microsoft web frameworks
and mobile platforms. Android and iOS control 90% of the world wide smartphone market and .net developers aren’t first class
citizens on those platforms.
2) It’s hard to make long term investments when Microsoft’s ever revolving door of new technologies continuously makes previous
codebases obsolete. That climate makes both businesses and developers afraid to invest resources in potentially defunct
technologies. Remember when WinForms was replaced by WPF? Only to be replaced by Silverlight? Then by Windows Phone apps? Which were
replaced by Universal apps? Or what about how Web Services were replaced by WCF only to be replaced by Web API?
3) A lack of emphasis from Microsoft itself on .net development didn’t help either. Looking at Microsoft’s Azure documentation we
can see .Net on equal footing with Node.js, Java, PHP, Python and Ruby. It feels to me like Microsoft have just given up on .net
4) The .Net Framework has become fragmented and stagnated. We’ve seen “forks” of the .net Base Class Library to Silverlight, Windows
Phone, Windows Store apps and Xamarin each with their own unique flavor. While at the same time nothing interesting seems to be
going on with the classic .net framework. With the exception of Roslyn what’s really new and interesting about .net vNext?
Are there going to be .net projects in the future?
Absolutely. The entire .net ecosystem won’t disappear any time soon. There are always going to be maintenance projects for existing
.net codebases. There are even going to be new greenfield projects where .net has a unique lock-in advantage (such as using WPF for
desktop app development). Additionally, Microsoft itself will continue funding development for partner apps on new platforms.
What should developers learn to future-proof their career? What’s hot today?
Go learn something you’re passionate about. If you think there’s a chance I could be right, you owe it to yourself to keep relevant
and explore what’s out there.
demand. For server-side web development Ruby and Python are still going strong and Node.js is picking up serious steam.
If you think Mobile is here to stay then you owe it to yourself to buy an iPhone or Android and see which platform you personally
like the most. Android development is done in Java; iOS development can be done in Swift. Developing for either platform is an easy
switch for .net developers.
If you consider yourself proficient in SQL Server or Oracle, go ahead and experiment with MongoDB or Redis. They’re fine examples of
data storage technologies that are becoming very popular.
There are also potential outliers like going into Big Data and learning Hadoop, or consider making a career switch to DevOps and
pick up skills in Puppet or Chef.
Put your money where your mouth is!
I’ve spent the last dozen years in the .net ecosystem and even helped to build it while working at Microsoft and Nokia. Well, I’ve
just accepted a full-time position as an android developer. Over the last few months I’ve been learning Java, reading the Android
source code and figured out how to use IntelliJ productively. For the foreseeable future, I’m taking a break from professional .net
The numbers I’ve shared with you in this article were a major reason why I first considered joining another ecosystem. It’s my
sincere hope you’ll consider doing the same.
Sincerely, -- Justin Angel
More information about the FoRK