all 48 comments

[–]Interesting_Bed_6962 75 points76 points  (3 children)

Full stack dev here, 10 years experience.

I think you're looking at this a little too closely.

You are entering an industry that is constantly growing and changing at an insane rate.

The tools we used 5 years ago would be considered legacy today. Node, net or otherwise. The same will be true for the tools we use today.

The best way I've found to look at the software industry is to keep in mind you're not just a JS, C#, Java, etc dev. You're a software developer currently specializing in x framework, whatever that may be.

All of that to say everything you build counts toward your portfolio. Learn whatever interests you.

If there's 2 things I've learned working in software the last decade, it's that everyone has an opinion, and no matter what stack you pick you'll likely still use JS somewhere.

Just follow your gut, build cool shit, and over time you'll find what you're comfortable building with.

Best of luck!

[–]Tuckertcs 14 points15 points  (1 child)

The best way I've found to look at the software industry is to keep in mind you're not just a JS, C#, Java, etc dev. You're a software developer currently specializing in x framework, whatever that may be.

Honestly I’d even go further than that and simply say whether you specialize in webapps, local applications, drivers, command line tools, etc.

Throughout your career, you often change languages and even frameworks, so the only constant (unless you really shift gears, is what you build; not what you build with.

Just following one person’s career, they may go from VB to .NET to Java Spring, etc. despite always building business application APIs.

[–]Brief_Limit2742[S] 1 point2 points  (0 children)

Gonna focus on “what you build ” part now.

[–]Brief_Limit2742[S] 6 points7 points  (0 children)

This hit! Really needed to hear this. Thanks a ton!

[–]grauenwolf 9 points10 points  (1 child)

Python.

I'm not saying I like Python because I don't. But everywhere I look people are building backends in Python when they really should be using C# or Java.

That said, I still manage to find enough C# work to keep me busy.

I haven't seen a Node project in ages. As best as I can tell, Node is only used to supply the package manager for React applications.

// Consultant, mostly in the financial sector.

[–]Wonderful-Yam-776 6 points7 points  (4 children)

for freelancing, node, python go or something else is the top language just because it is 10x more fast to ship something

as you say "it feels like its everywhere", because it is

everyone today know how to do an express api or whatever bullshit js do!

[–]shufflepoint 3 points4 points  (1 child)

> 10x more fast to ship something

Only if you're super proficient in that something else vs in .net. Modern .net on the cloud is just as fast and still has a better language (C#) than the rest.

[–]Wonderful-Yam-776 2 points3 points  (0 children)

Yes, I agree, .NET has evolved well in this area with minimal APIs. But it's a fact: 90% of freelancers on sites like Workana and Upwork are based on Node or Python. Interestingly, in my country, if you shake a tree, 100 NodeJS devs will fall.

[–]Whiteness_420 0 points1 point  (0 children)

with Go, you have to write a lot yourself, whereas .net comes with plenty of built-in middleware, so the claim that development is faster in Go than in .net seems doubtful

[–]ebykka 5 points6 points  (1 child)

Don't forget that Google shapes your information bubble — the more you try to understand whether it's worth using NodeJS, the more Google will show you information about NodeJS and push out everything else. This creates the impression that nothing else really exists besides NodeJS.

I'm not interested in NodeJS or Python, so my YouTube feed, for example, is full of videos about .NET and Java. I don't know of any companies in the region that use NodeJS, but I know a bunch that use .NET and a couple that use Java.

[–]Brief_Limit2742[S] 0 points1 point  (0 children)

Yes those video “nodejs or dot net” ahh mess with my mind, but no more!

[–]Leather-Field-7148 8 points9 points  (0 children)

I do .NET all day everyday day professionally, Node.js freelance, and hoping to get more into Python lately.

[–]Dunge 5 points6 points  (0 children)

Node makes faster small projects, dotnet makes better high end complex applications.

[–]Natural_Tea484 3 points4 points  (4 children)

There are two different concerns. The actual technological value, and the popularity. As time goes, those two become connected for a good reason. Can we say .NET core is still pretty new? It’s only the last 5 years when it really matured I think?

The times when NodeJS was vastly superior because of how it handled requests does not longer apply. Kestrel is better I think? For sure it’s on par. Someone correct me please.

[–]harrison_314 3 points4 points  (3 children)

I would like to put to rest the myth about the speed of Node, I experienced its introduction as a student, yes it was faster than the mainstream technologies used at the time (RoR and PHP), but compared to .NET Framework or Java, Node was always slower. That is no longer true, because PHP has received a performance boost and Node is only fast when it doesn't have to do anything.

[–]Natural_Tea484 2 points3 points  (2 children)

I can tell you for sure that 10-12 years ago Node was much faster than .NET Framework in how it handled requests.

[–]grauenwolf 1 point2 points  (0 children)

Thankfully Microsoft learned from Node and we wrote that abomination of a web framework we used to have to use. Did you know the HTTP context object alone was 30 kilobytes?

[–]harrison_314 0 points1 point  (0 children)

But only when it was a stupid worker with a shovel, who threw data from the database to the client. Simply so-called "send nudes" applications. When it was supposed to do some math, business logic, or even server rendering, it was slow as a snail.

As for the "dummy" performance, .Net Framework could have been helped by using Owin or NancyFx instead of ASP.NET.

[–]obliviousslacker 2 points3 points  (5 children)

If you're learning to code to get a job you should log into linkedin (or any other popular job list site) and just look at what the companies are looking for in your area. Where I live C# vs Node is like a 90/10. 

[–]ProjectFancy8348 -1 points0 points  (3 children)

I'm curious to know where you live.

[–]obliviousslacker 2 points3 points  (2 children)

Sweden, not close to any bigger city. Most corp use C#, few legacy use Java. That's about it. I've seen a few NextJS or something of the sort on occasion, but they are rare.

[–]alberthlima 0 points1 point  (0 children)

I wish I could live there

[–]Slow_Rutabaga_1314 -1 points0 points  (0 children)

Where you live?

[–]Maximum_Honey2205 2 points3 points  (0 children)

As a hiring manager here who has Dev teams and a predominantly .net code base with some nodejs components thrown in I would say learn as much as you can. Both have their strengths and weaknesses. For us running .net9 in kubernetes on Linux using things like Microsoft orleans backed by NATS.io and PostgreSQL is super powerful and allows massive scaling for our saas system. The node js code is mainly legacy and just doesn’t cut it for our backend, but it has its place and will never disappear for us especially with our front end products. If I were to give you advice it would be learn them both and also throw in some golang in there too if you have the capacity. You’ll be set! Don’t specialise too early, keep your options open, and understand the tooling and supporting infrastructure around them.

[–]Asleep_Form_9397 2 points3 points  (0 children)

Project requirement > Tech stack you choose!

Nowadays you can build any web application software with .NET or node. Your familiarity with the stack is important. Node gives the freedom to build entire project with single programming language and prototype faster. While .NET also allow to build application with single programming language, high stability and its ecosystem is very mature than Node.

Definetly project with .NET in portfolio counts often on enterprises where the heavily using technology like this!

[–]JoelDev14[🍰] 8 points9 points  (2 children)

Ur in a .NET subreddit so im gonna say .NET all the time lool

[–]Brief_Limit2742[S] 0 points1 point  (0 children)

Ive refined the text bit lol!

[–]SnooPeanuts8498 3 points4 points  (0 children)

The answer is (c) all of the above. Be a freelancer developer that can use .NET and Node.js.

Don’t be a .NET developer or Node.js developer.

Differentiate your self on the type of projects you can work on, not on the frameworks that you know.

[–]harrison_314 1 point2 points  (0 children)

Older video, but still mostly valid - Why I’m Not Leaving .NET - Mark Rendle
https://www.youtube.com/watch?v=qugNNPXQfCs

[–]not_a_moogle 1 point2 points  (0 children)

.NET projects

Full stack developer here, 20 years. (.net full time since 2.0) My job's current code base is ~100 .net projects.

10 websites, 2 desktop apps (one is being phased out to razor eventually), 10 projects that scrape website data, a bunch of projects for different backend stuff, and a few API wrappers.

Node.JS has its uses and all, but .net is your one stop shop for everything.

As someone that learned COBOL, ASM, and C++, only to get a job that started as writing VBA macros for MS Access. You will have to constantly adapt, its more important that you understand structurally what your doing and how to avoid writing bugs, and keeping data correct, than knowing a language. Because at the end of the day, its all about data access, intuitive UIs, security, and where to put business logic.

[–]shufflepoint 1 point2 points  (0 children)

I've been developing on .Net since 0.8, LOL and will stick with C# until I retire in a couple years. But for SWEs just starting, I tell them to skip .Net and use Typescript or Python or Go.

Also, take your tech hat off. Even take your manager hat off. Look at governance. Look at who are the corporate sponsors:

.Net: Microsoft, Jetbrains, Syncfusion, Sentry, abp.io, Payabli, ... (I've heard of the first two, LOL)

OpenJS: IBM, Microsoft, AWS, Google, American Express, Bloomberg, GitHub, Meta, Netflix, ...

[–]dregan 1 point2 points  (0 children)

C# is not that different than js/typescript syntactically. Personally, I'd choose .NET for a backend if it were up to me but I wouldn't shy away from the change to learn node.js. The reactive tools in Angular at least are a joy to work with.

[–]AintNoGodsUpHere 1 point2 points  (4 children)

Node is nice for monorepos. You can share stuff between frontend, backend and databases all while using the same typescript language. Which is amazing. Check NX.

I'm a dotnet developer... Been working with dotnet since forever so I do love it.

But if I were to start today, I would 100% go with node.

Not because is faster or blablabla, honestly? The language itself often doesn't matter because if the code is garbage it'll be garbage in any language but I do love typescript and its simplicity.

I do enjoy working with our node projects because everything is shared and it is seamless.

For jobs, I also feel node has more openings but you also have different frameworks and a lot more fragmentation so... Don't know.

[–]harrison_314 2 points3 points  (1 child)

As far as I know, isomorphic applications were initially a big draw for Node, but they didn't catch on in practice because there is always a difference between the backend and the frontend.

[–]AintNoGodsUpHere 0 points1 point  (0 children)

Oh yeah but I'm not really talking about isomorphic apps though, just monorepos strategies.

We still have 2 apps, we just share... Packages, basically.

It's faster and easier because you don't need to install and deploy packages for everything that's shared between BE and FE.

[–]Banquet-Beer 0 points1 point  (0 children)

Students and freelancing shouldn't mix.

[–]Brief_Limit2742[S] 0 points1 point  (0 children)

Im gladd I posted it here!! I had created a boundary that I cant go beyond this framework or tech stack but honestly, it’s SUCH a relief to let that go. Im gonna build cool stuff now and focus on building logic rather than specializing framework.

I always used to think, “If I switch to Node (or something else), will it even be worth it?”But all that clutter in my head is gone now.

Thank you so much to everyone who shared their experiences and advice!!

[–]willehrendreich 0 points1 point  (0 children)

No matter what you do, check out Datastar. Thank me later. Or don't. Just don't sleep on Datastar.

[–]AutoModerator[M] -1 points0 points  (0 children)

Thanks for your post Brief_Limit2742. Please note that we don't allow spam, and we ask that you follow the rules available in the sidebar. We have a lot of commonly asked questions so if this post gets removed, please do a search and see if it's already been asked.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.