Worried About Your .NET Skills?

- select the contributor at the end of the page -

I've been in the software biz since my first job at 16 (yeah, that means 28 years now) and the one thing that has always been consistent is that technologies change…but old technologies do not go away. The most recent example of this is Silverlight. After teaching it full-time for five years, I got a lot of flak when it went into "maintenance mode" at Microsoft. But the reality is that many companies are using Silverlight and Silverlight isn't going away any time soon. Same for Windows Forms, ASP.NET Web Forms, VB6 and even MFC. The question you have to ask yourself is whether you want to stay with the older technologies or learn new ones.


Should I Stay or Should I leave?

It's a complex question. I like to tell the story that earlier in my career I was asked whether I wanted to enjoy development or make money. I couldn't necessarily do both. We were interacting with a hospital system that used MUMPS. MUMPS (or M) is a system that uses a schema-less database (e.g. NoSQL) to store data for high-volume transactions. Of course, that sounds like a new technology but in fact it was designed in 1966 and still exists in the biggest hospitals and banks. Do you want to be a MUMPS developer? The handful of them left are making quite a lot of money. But it's not new. That may not matter to all of you but it will to some. This is the same for most technologies. Sure, AngularJS, NodeJS, and Python are sexy but the pool is bigger since bored developers are learning them in large swaths.

You have to answer that fundamental question…do you want to learn something new or is it a job and being an expert on a specific technology enough for you and your family? There is no 'cool' hierarchy here. Every developer is different and what is important to you isn't important to everyone. It's a very personal decision.

.NET isn't going away either but some of the technologies you're using might become less in demand (the aforementioned Windows Forms, ASP.NET Web Forms, Silverlight, et al.) but the best developers in these technologies will always have a place. Of course, you could decide to move to the newer .NET techniques like ASP.NET MVC, Web API and WinRT. Making a decision to learn the newer technologies will open up new opportunities but perhaps move you to compete with a larger pool of developers. It all depends on what you really want.


Web Development Today

What if you do want to move your .NET skills to a newer web development stack like ASP.NET MVC? Don't' get me wrong, moving from something like ASP.NET Web Forms to MVC is not a trivial step. Doing so means you're going to have to learn how server and client code work together. It means you'll need to learn JavaScript.

Don't stop reading…I know I said JavaScript and some of you might be balking already. C# and JavaScript are similar in some ways and remarkably not similar in others. But at the end of the day, JavaScript isn't the bad language you feared 10 years ago. The language hasn't evolved that much but the libraries and tools have. There are days I even enjoying writing JavaScript.

In a typical day of development, I use ASP.NET MVC to do about 30% of the work of most of my sites; and 70% I use client-side code. Ironically, the client-side code I write is much like the Silverlight work I was involved in. I believe this is where we're going (and there is ample evidence to support that). Richer client-side web experiences are becoming the norm. Trying to create these experiences with older technologies like Web Forms is going to be painful. But using your .NET skills to build great web sites isn't as far as you might think.

Especially if you're coming from desktop development, web development can seem overwhelming. Just a glance at the acronym jungle (e.g. CSS, HTML5, MVC, etc.) can strike fear into the heart of most people. But the reality is that there are a lot of little skills. Little skills. Most of these you've done before, but in a different format. Structuring pages in HTML5 isn't fundamentally different from VB6 forms, Windows Forms or XAML. Data binding is still there. Calling services may be a new layer for some, but most of us have been separating the calls to the server for some time. It's just code.


If You're Ready

Of course if you are ready I hope that my courses can help you get to where you want to be. I've been focusing the last few years on the newer web technologies so my courses on JavaScript, CSS, Debugging the Web and Web API design all are geared to help those who wish to retool do so.  My courses include:



If You're Not…

But to be clear, if this isn't your path it doesn't mean you're a bad developer. There are great developers working on every kind of technology. Moving to a new technology doesn't make you a good developer; either you are or you aren't. Don't let the 'cool kids' mentality bruise your ego.


Get our content first. In your inbox.

Loading form...



Shawn Wildermuth

Shawn Wildermuth has been tinkering with computers and software since he got a Vic-20 back in the early ’80s. As a Microsoft MVP since 2002, he’s also involved with Microsoft as an ASP.NET Insider and ClientDev Insider. He’s authored eight books and innumerable articles on software development. You can also see him at one of the local and international conferences he’s spoken at including TechEd, Oredev, SDC, NDC, VSLive, DevIntersection, MIX, Devteach, DevConnections, and Dev Reach. He is one of the Wilder Minds.