.Net’s Stagnation and Brain Drain
Recently Justin Angel posted an essay he’d written titled “The Collapse of the .Net Ecosystem, V3”. It’s an interesting read and very well could be flawed in many meaningful, statically and logical ways. But if you haven’t popped your head up in a while there are noticeably less .Net jobs then there were in 2006-2010. This could be relative or absolute, but when I was looking for a job a few years ago the C#/.Net listing were few and far between.
The jobs that are out there aren’t at startups, they mostly aren’t working on solving interesting problems, they are Line of Business applications. Head over to Angel.co and see how many of their 8,400+ startups are using C#, hint it’s less then 2.5%.
There is nothing wrong with Line of Business applications or enterprise app development. You can make a very good living doing this and get to work on some cool stuff, maybe. But without new people, new ideas, different points of view and fresh perspectives the .Net Community becomes an echo chamber. As a whole it will lag behind other more cutting edge development techniques and methodologies because we aren’t exposed to them, as people aren’t flocking to be .Net developers.
You may be saying to yourself, “That’s fine I don’t want to work for a startup anyways” and that’s a perfectly valid opinion. But it’s undeniable that startups attract the younger developers, who can take the risk and the commitment to the startup pace. These then become the next generation of enterprise developers. If there are only a handful of .Net startups what does that say about the possible new input into the .Net Development collective? How many developers are leaving? I’d bet you we have a net loss in people leaving the .Net community verses new minds coming in. As I sit here the path that is currently laid out for .Net developers is the track languages like COBOL followed.
For the last few years Stack Overflow has done a developer survey. You can head over to SO and check out the results. The section I want to focus on is “Most Popular Technologies”. Here you can easily compare 2013, 2014 and 2015 trends.
Here is the breakdown for C# for the last 3 years:
2015 pharmacieviagra.com | 2014 | 2013 | |
C# | 31.6% | 37.6% | 44.7% |
In 2 years C#’s popularity on SO has dropped 13.1%. To be fair JavaScript dropped 4.5% as well from 2014, but they call out Node.js (13.3% and AngularJS 13.3%) and Angular didn’t have any numbers for the 2014 survey. The trend may not be alarming to all, but at a minimum it should let you take notice and stock of what the future looks like.
.Net will be around for a long time, but in 5 years how much new development will be done in it compared to how much maintenance? What about in 10? I love the C# language and the .Net Framework, it’s elegant, complete and very capable. But would I want to just fix bugs on a 10 year old legacy system day in and out with it? Sure you will be able to find C# work, but is it going to provide the challenges that keeps us developers engaged and provide job satisfaction?
I don’t blame Microsoft for this (ok maybe just a little), they are responding to what the market wants. You can’t continue to just push you language/framework as the only way to do things. Hell even Apple announced that they are open sourcing Swift. But times have changed, in the past you needed to do .Net for Windows development. Web application weren’t very good and to build any decent Windows Apps you used .Net. Eventually those Windows Apps got ported to ASP.Net, then ported to MVC. We went from Windows where really only C++ and .Net mattered to the Web where, well lots of things matter. Now to build a “Metro” app you can JavaScript or C++, no .Net required and there are tools to utilize “Metro” apps in the normal desktop.
I think with Microsoft Open Sourcing a good chunk of their ASP.Net stack they can compete better with Java, companies that don’t run Windows can use straight .Net now on their Linux/Unix boxes. Yes there was always Mono but that never really took off as I had hopped. So there is some light on the end of the end of the tunnel, hopefully it’s not a “No Exit” sign.
Resgrid is a SaaS product utilizing Microsoft Azure, providing logistics, management and communication tools to first responder organizations like volunteer fire departments, career fire departments, EMS, search and rescue, CERT, public safety, disaster relief organizations, etc. It was founded in late 2012 by myself and Jason Jarrett (staxmanade).