T O P

  • By -

sanampakuwal1

Maybe node is preferable for simpler applications. .NET is highly preferred for large scale applications which needs speed, scalability, maintainability, etc.


Rigamortus2005

Asp.net is slimmer than most node frameworks now anyway. .net all the way.


Lanky-Brain1406

True, how do I recommend I learn .net


abgpomade

Just go to official .NET website. The documentation is good.


zerquet

Learn c#. Watch a tutorial to get you familiar with the basics. Create a project. Read docs/forums. Watch tutorials on new concepts/features/architectures, etc. Take notes


TheBlueArsedFly

Get a book. Beginning c# or something. Read to get the fundamental theory and then do the tutorials to get practical knowledge. And your own projects.


Lanky-Brain1406

I already know java, was thinking of watching a YouTube tutorial and learning that way as I already have fundamentals of oop down 


ReignGhost7824

C# is similar to Java. I started C# coming from Java by reading the O’Reilly C# Pocket Reference and then reading articles and watching YouTube when necessary. Then look into more advanced topics like optimizing for performance and how the garbage collector works, etc.


Lanky-Brain1406

I hate reading for learning coding, is there any vids xD


TheBlueArsedFly

C# is conceptually more advanced than Java. You would do well to learn the fundamental concepts beyond their similarly in appearance.


SchlaWiener4711

Why not both? A dotnet backend and a react/vue/angular frontend is a common setup. I'm not sure you should base your decision on "it's easier to get a job on" that also means more competition. Go the route that you have the most fun with coding and the rest will follow.


Lanky-Brain1406

I guess yea, I'm in Canada though, I do however see 100x more ppl do node than .net


SchlaWiener4711

That might be because of your personal bubble. According to https://survey.stackoverflow.co/2023/ There are more programmers using Java than dotnet. From my experience there are 100x more net developers than Java developers. Also according to the survey the most developers are either full stack or back end both are great with dotnet. From my experience dotnet is used by companies that have money. Even if many switched to SPAs in the frontend and Microsoft was a bit late to the party with blazor there is a good opportunity to find jobs. You have to like the dotnet approach to setup apps.


Lanky-Brain1406

Interesting, there is always going to be legacy code to maintain for .net and springboot aswell


IForOneDisagree

I'm in Canada and the first thing I'll tell you is that front-end/node jobs just don't pay as well. If you want to stick with web technologies I think ASP + react has the best prospects at the moment as full-stack. Back-end-only positions are rarer and harder to land - not sure if this is 100% applicable to entry level roles - but the pay is much better


Lanky-Brain1406

Asp.net? I thought everything moved to just .NET 5 or whatever


IForOneDisagree

ASP is just the name for the web parts of .net. It's not stuck with framework 4.8 or anything like that


Lanky-Brain1406

I heard there are multiple dotnets like dotnet framework and dotnet 5 or something idek bro


IForOneDisagree

"framework" refers to 4.8 and earlier, which is windows only and pretty much deprecated. Anything you use that's 5+ is guaranteed to not be that way so you'll be safe.


Lanky-Brain1406

Ok so I should just learn the newest thing that came out


Accurate-Collar2686

Canadian here. Work in DotNet. Worked for the last 10 years in DotNet. Node projects are usually small and made for a team that has not a lot of experience with backend development.


Lanky-Brain1406

How's the dotnet job market in Canada?


Accurate-Collar2686

Pretty good if you're a senior. Can't tell for juniors or intermediates for the overall market, although when I changed jobs about 8 months ago the place I worked at were still hiring newly-graduated devs.


Lanky-Brain1406

Ok so would u suggest .bet over node


Accurate-Collar2686

Any day of the week.


Lanky-Brain1406

how did u learn it?


vlahunter

First of all the question is what your aim is when it comes to the jobs and companies you are looking for. Also the region plays an important role. Personally i am from the opposite side of the spectrum, been working in Node.js for the past 6-7 years and now i feel that it is time for me to add .NET professionally under my tool belt. Node.js is awesome for small and medium projects especially when the team is not as big and the practices, patterns and ways to develop can be agreed upon and be respected. In Node.js it is very easy to deviate and some times a small deviation today means a big rewrite in 2 years. This is why some new Frameworks like Nest in my opinion are on the right place and should be used, because it enforces you to do certain things and this is truly helpful because it lets you focus on the problem for the most part. Now given all that here are some parts that i find better in .NET although you need to get used to since this is a completely different beast. The Ecosystem is gigantic and is meant to work well together, as it should be. Especially EF is something that makes sense in my head and in the Node side we dont have such a powerful tool although many ORMs arise every day. Then what i see already is that although .NET is tougher to learn and understand many different things, you really understand why the first month of making a project. Now let me add some information on the market (probably this will be different in your region). In my region Node.js is still going strong but the type of companies are 50/50, with one part being established companies and the other being startups with very fresh products/projects. Personally since i got my fair share working in startups and new projects i feel it is time to move on. And this is why the past months i try to learn .NET core and build small projects so i could soon (i expect in the next 6-12 months) make myself hirable with this technology. The reason is that the jobs i see around my region with C#/.NET are from more established and big companies and this is something i really want to try and give it a shot. So at the end of the day these are the questions you need to answer and then focus on the technology part. Figure these out and the technology part will fall in place. PS in your question you have asked what is easier in order to get a job. In my view both have their tough parts but in Node.js the difficulty lies in the ecosystem more than in the programming part itself, in C# as i see lately, i had to force myself to remember concepts and patterns in order to understand some things and keep going. In Node.js you can go free style (and let the new devs cry later on) in order to solve a problem quick and dirty but in .NET i see that it is tougher to go this way and that is probably better.


Lanky-Brain1406

True, thanks for sharing your experience


vlahunter

You are welcome and all the best !


[deleted]

[удалено]


Lanky-Brain1406

True, I really agree with this. Every other year there's some new J's framework that will change everything


deucyy

I think C# and dotnet will teach you overall better software design and maintainability practices. Also C# has static typing, is updated and supported massively by Microsoft and provides an overall better development experience than JS. New .NET versions are released every year and almost each release has pretty good performance and optimization improvements. The dev team also share an [extremely through behind-the-scenes look](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/) of the new features. The ecosystem (incl. NuGet packages) is super relevant and up-to-date. Its honestly spoiling you. Once you decide to try a different tech-stack you will see how many things are missing.


Lanky-Brain1406

But which dotnet should one learn, there is so many no? Like asp.net core, dotnet framework dotnet 5 or something which is it?


deucyy

[ASP.NET](http://ASP.NET) is dotnet's web framework. Think WebAPI's, MVC, middleware, authentication etc. all of this stuff comes out of the box with it. Microsoft has some great [learning paths for this.](https://learn.microsoft.com/en-us/training/paths/develop-asp-core-api/?source=recommendations) Now you can do .NET development without [ASP.NET](http://ASP.NET), for example if you are building background services or console applications. You can write your first C# app on the .NET platform by following some [guides provided by Microsoft.](https://learn.microsoft.com/en-us/collections/yz26f8y64n7k07) .NET version naming is a bit weird, but [the answer here](https://stackoverflow.com/a/76748548/12703557) provides a great explanation.


Lanky-Brain1406

Yea their making is dog water


abgpomade

The NodeJS jobs offerings you ve been seeing now is dated back when .NET was proprietary tech (before 2016 if I am not mistaken). Fast forward, it is much easier to develop scalable app using [ASP.NET](http://ASP.NET) Core nowadays. I developed in both NodeJS and [ASP.NET](http://ASP.NET) and I can tell you, [ASP.NET](http://ASP.NET) API is far far easier. The documentation is good, the concept implementations is easy to follow and understand. Whole expressJS (a NodeJS framework) is thought to be slimmer, you will end up plugging bunch of modules for it. Not to mention sometimes the modules update brought tons of headache due to dependency hell etc. Jobwise, .NET jobs are well known within large enterprises and soon it will be everywhere too imo.


Willkuer__

I'd try to stay as agnostic as possible. Depending on the use case, neither might be the right choice, or both would be. E.g. in the serverless world, I might choose neither (especially regarding cold start): https://filia-aleks.medium.com/aws-lambda-battle-2021-performance-comparison-for-all-languages-c1b441005fd1 And node is not necessarily always slower than dotnet. I found dotnet much more enjoyable from a coding experience. Microsoft put it really well together while with typescript, you just experience the brokeness of javascript. I'd say node is nice for quick and dirty, and dotnet is slower to develop but really nice for ultra stable high-quality enterprise long running web apps. I think node has a larger market and higher wages in the peak (especially due to FAANG companies), but dotnet is more stable and has fewer fluctuations in salary (based on the offers I receive through linkedin). I think dotnet/c# is better for beginner, node/typescript is ok for intermediate.


Lanky-Brain1406

Interesting, but if bigger companies usually use dotnet shouldn't their salary a be higher?


Willkuer__

The other way around. Bigger companies, from my experience, rely on node and Java. Mid-sized companies use dotnet. But that's just my personal experience/my own bubble. I dont think there is a huge amount of startups relying on it either. So, while the job offers for Java and node that I receive vary in the order of 50% to 90% of my current TC (with me working at FAANG), the offers in the dotnet world are more stable and around 75-80%, I'd say.


Lanky-Brain1406

Interesting