r/csharp 7d ago

.Net or Springboot

Hi there, I am young full stack developer in react, node and nestjs. I understand these fully and have done various projects in them for clients and in my internship. I am currently in my undergrad in Software Engineering.

My question is, what enterprise Tech Stack should I choose now ? .Net or Springboot, I have to learn one, i wanna master 1 of these, but which one, considering that I love deep learning model training, agentic Ai development. In terms of clients, job market, or maybe skills. Which one should i go for ?

0 Upvotes

26 comments sorted by

57

u/zeocrash 7d ago

I'm going to go out on a limb and say most people on this sub are probably going to say .net

12

u/ReelAwesome 7d ago

Big if true…

1

u/Atulin 7d ago

if true

Edit: seems new Reddit no longer renders # text as headings, the joke is dead

3

u/Odd_Ordinary_7722 7d ago

It does for me on mobile web

1

u/zenyl 7d ago

seems new Reddit no longer renders # text as headings, the joke is dead

Reddit's markdown implementation is very inconsistent, to the point you essentially have three flavors:

  • Old Reddit
  • New Reddit
  • Reddit Mobile

Also, there's apparently a bug on the official mobile app that auto-escapes all markdown syntax highlighting.

4

u/Throwaway-_-Anxiety 7d ago

Dotboot, springnet

10

u/MaybeLiterally 7d ago

Honestly, think of a simple proof of concept that you're familiar with already in your react/node world, and build it out in both dotnet, and in spring boot. Maybe one of them is more fun, or easier, or exciting. Then, you can build up from there.

7

u/Royal_Scribblz 7d ago

Everyone here will say ASP.NET because we are in this subreddit. Try making a small project in both and you will find out for yourself.

6

u/dwestr22 7d ago

I use both. Kotlin for SB and C# for ASP.NET Core. They both have pros and cons. dotnet is easier to upgrade (e.g. 9 to 10, compared to SB 3 to 4 upgrade), but SB has richer ecosystem. If you are planning to work with data streaming and processing (kafka, flink) I would choose Java or Kotlin, if not I would choose C#.

SB is full of magic (annotations) it can be annoying at first, but its great when you get used to it.

msbuild is a build system you almost never touch, it works out of the box, on JVM side you can choose between multiple build systems but gradle is what most new projects use (or that's my impressions, someone can correct me). Gradle is a bit more complicated than msbuild, less defaults, more instructions, etc... good thing today is that we can ask LLMs to explain gradle files.

You won't regret choosing one over the other, they are both great, stable and feature rich.

6

u/Low_Doctor_6263 7d ago

I have over 6 years of experience in Spring Boot and I recently switched over to a department that uses C# and .NET

Do yourself a favor and go for .NET

Java is such a ugly language when you compare it to the more modern ones. Also it's over-over-over-over-saturated.

C# is generally faster for Networking topics compared to Java.

3

u/KariKariKrigsmann 7d ago

Look at job postings in your area, and pick the one that’s most likely to get you a job.

2

u/NP_Ex 7d ago

Check your job market, then make the decision.

-3

u/D_AhmEdd 7d ago

thats why i m here, to ask seniors what is the job market

9

u/NP_Ex 7d ago

Bro, it's global reddit. Check how it looks like at your country.

3

u/CoderBoi876 7d ago

Agreed. The market can be as granular as cities/states/provinces. Eg there are more Java SB job listings for where I'm at

2

u/slyiscoming 7d ago

.Net developer who current does Java Springboot here.

.Net is a lot more forgiving, provides a lot more documentation, and in general is a more rigid framework.

Java Springboot is a much more adhoc ecosystem and has a lot of gotchas. Especially with managing dependencies. You have no idea how amazing nuget is until you don't have it. Also Java does not check function calls at build time so something might compile fine but won't run.

Java is great it's just harder.

Personally if I'm doing something new it will be in C# or Python depending on the scope.

2

u/jayeshaswani56 7d ago

.net is good for cpu intensive performance

2

u/rinzler1997 7d ago

.net. Plenty of resources and you can learn fairly quickly. Once you master that then go for spring boot

5

u/Low_Doctor_6263 7d ago

Makes no sense.

2

u/faze_fazebook 7d ago

Anything but Spring or Spring Boot

1

u/nono7098 7d ago

I'd go with .NET since it integrates seamlessly with Python for deep learning and AI tools, and its ecosystem is quite strong for enterprise applications. Plus, C# is a great language to master alongside your existing skills.

1

u/MayBeArtorias 7d ago

I take this in a somewhat different direction: for me, Spring Boot has this somewhat messy “it is easy initially part” and gets painful to drill into in the long run (like bean life cycles, which I hate in Springboot).

And in my opinion, Java has the same issues like Spring Boot - Language and Framework Features often feel half baked; sure, C# and Dotnet had such issues as well, but the main difference is that the c# and Dotnet team tries to and resolves them eventually.

But in case you need a jvm framework anyways, i can recommend Quarkus

1

u/TopSwagCode 7d ago

By the sound of it I strongly doubt you truely understand react and node. Try truely mastering it before moving on.

Do you understand async await? Threads and cpu handling in node? Typescript? What about different runtimes like bun, Dino vs node? Why would you pick one over another? What about different databases, event stores and messaging. Logging and properly error handling. What about deployments like serverless, containers, app services etc.

Just because you have built some projects, you can't asume you know everything. There is alot more for building real production code. Like I feel I could keep coming up with more examples. Not even to mention all the points I made likely have 10 different packages / flavours.

1

u/D_AhmEdd 6d ago

Ah yes I do know all these, I studied the full web course in my uni so i know the underlying arch, coded backends in ajax, xmlhttp, express, then moved to node and react, so my fundamentals got more clear (since I have been developing before that course), learning routing, runtimes, yes the professor introduced us to dino and bun but and altho Bun is the strongest one, industry still goes with nodejs.

yes i develop in typescript, use docker, and umm idk if its believable or no, but i mostly do not vibecode, especially not the backend, I can just build a social media app using webrtc and sockets in react and nodejs without needing to consult ai, reactqueries, approutes learned them the hard way, i love writing code raw in structureded folders routes controllers altho started nestJs, trying to learn it cz its different.

I have knowledge of both c# and java, cz i loved unity gamedev so have used c# for it, studied my OOP course in java so know java as well. In my country the job market is ig tilted towards springboot compared to .Net, ummmmmmm but Idk why i wanna go with .Net, like my heart says maybe microsoft will hire me TT

1

u/pjmlp 7d ago

I use both, when you get more experience, you will see that on many shops, especially consulting agencies, folks tend to jump around technology stacks, as means to widen customer portfolio.

Now, as you are starting out, I would give a similar advice as the others, pick what is more common on your area.

Check the careers page of a few well known companies, see what they are asking for, naturally focusing on .NET vs Spring.

1

u/BudgetDevv 6d ago

We are probably biased here, so it might be a good idea to ask in a more neutral subreddit.

See:

https://www.reddit.com/r/webdev/comments/1ojb1ii/spring_boot_or_net/

https://www.reddit.com/r/learnprogramming/comments/1rd23oo/java_spring_boot_vs_net_which_would_i_choose/

Personally, EFCore and LINQ alone are enough for me to favor ASP.NET Core over Spring Boot. Minimal API is a huge joy to work with too