Skip to content
loading...

What exit should a .NET developer take?

cdvillard profile image Charles D. Villard twitter logo github logo ・1 min read  

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.

twitter logo DISCUSS (3)
Discussion
markdown guide
 

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.

 

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).

 

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.

Classic DEV Post from Jul 30 '19

PublishTo.Dev: Scheduling article publishing on dev.to

Charles D. Villard profile image
Web developer with a passion for front-end development and keeping the web accessible and available to all. His downtime is likely spent cooking, raising his kids, or reading up on development trends.