DEV Community

Charles D. Villard
Charles D. Villard

Posted on

What exit should a .NET developer take?

Is there a stack or language that .NET developers have found themselves moving to?

I'm currently working in a .NET stack, and it's also been a little bit of a slough as I work primarily on ASP.NET Web Forms-based projects and fewer MVC projects. I've been considering leveling up my skills to .NET Core, but I was wondering if anyone had any suggestions about other tools to explore.

Top comments (3)

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

I did Web Forms for many years, so I know that pain well. MVC is worlds better, but there is still a lot of framework knowledge involved, and I despise using attributes for things like validation and routing. Which is exemplified there.

I guess it depends on what kind of experience you are looking for. I went down the functional programming path, so for me the right mix in web has been to use browser-based front-ends in Elm. And back-ends in F#. I use as few "frameworks" as possible (not like .NET framework which is a misnomer for a platform, but more like ASP.NET MVC, Web API, React, Angular, etc.). Instead I am using functions as much as possible to limit how many non-portable abstractions I have to permanently remember. Elm and F# allow me to do that for the most part. (I still wish I could forget all that Web Forms Page Lifecycle stuff, as well as Angular 1 directives/services/etc.)

They currently don't offer any UI frameworks for .NET Core, so you can pretty much only use it on the back-end. For that purpose, I have found it basically the same to code against as Framework. Tooling is slightly different. (although if you use Visual Studio it is nearly the same, except F# support :/ . I use VS Code and the Ionide plugin for F# on core.) There can be some dependency issues if you want to use a library which has not ported to core. Most of the popular ones have migrated.

Addendum

Most of the web front-end action is in browser-based nowadays. It is a completely different (and markedly more complicated) development environment from Web Forms. It is not an easy transition. My recommendation is to use npm modules like Create ??? App to get started quicker. Where ??? might be Elm / Vue / React / Angular. Of course, I recommend Elm. It will bend your brain more (in a good way). The others will be more like what you are accustomed to, so quicker to pickup. Also, for styling business apps I use Semantic UI in CSS-only form. I have also used Bootstrap in the past.

The backend could be whatever. I stuck with .NET there because F# is a great language.

Collapse
 
jfrankcarr profile image
Frank Carr

Here's what I've observed during my recent job search...

Angular is big in the .NET world. This is probably because it's easier to find decent Angular developers who can deal with a .NET backend than it is to recruit decent ASP.NET MVC or Web API programmers.

Cloud based development is also big. However, companies usually want someone to have a lot of experience with exactly what they're using, Azure or AWS. They seem to have the attitude that people can't learn something new. Go figure.

Full stack .NET developers who are well rounded in both front and back end technologies, from SQL to Javascript, are in demand (that's what I am). The big gap here is that they can find good front end designers/developers and good DBA's but finding someone who can step into the middle and coordinate both sides is more difficult. Companies tend to make interviewing for this position more difficult because they're used to interviewing narrowly focused specialists, not generalists.

Windows 10 IoT (.NET Core, UWP, C#/XAML, etc,) programming is picking up a bit. However, I think it will have trouble competing against Java in this area. So, I'd recommend picking up a bit of both to cover both bases.

If you can deal with it, there are still a lot of companies who need people to maintain legacy WinForms projects (C# sometimes, but usually VB.NET).

Collapse
 
nickytonline profile image
Nick Taylor

I dropped .NET a couple of years ago. I had done WebForms, ASP.NET MVC, SharePoint etc. and went full in on JavaScript/Node, TypeScript and React. No regrets.