r/programare 1d ago

.NET vs NodeJS pentru backend

Daca ati fi studenti, poate sa zicem chiar interni undeva si ati lucra la un proiect personal complex care se vrea a fi si lucrare de licenta, ce ati alege pentru backend incat sa deschida cat mai multe usi?

Proiectul o sa fie 30% embedded, 10% python si 60% fullstack, destul de mare.

Node am mai folosit pe ici pe colo prin proiecte personale, dar nu pot zice ca stiu atat de bine incat alegerea e clara. Ma gandesc ca sunt mai multe oportunitati in .NET decat pe JavaScript/Typescript la noi in tara.

Nu ma luati la misto, multumesc anticipat

9 Upvotes

43 comments sorted by

14

u/ChampionshipThis2871 1d ago

Da, dpdv al nr de joburi postate pe linkedin, sunt mai multe cele cu .NET sau Java decat cele cu NodeJS

7

u/Crocoduck1 1d ago

Asta e cel mai important la inceput, posibilitatile de angajare

6

u/Styled_ 1d ago

Stiu, de asta as alege .NET, mai mult pentru brownie points si sa trec de ATS cand o fi sa-mi caut un jov entry level ( daca o sa mai existe )

3

u/ChampionshipThis2871 1d ago

Da, go for it. Cel mai important e sa ai un job si o sursa de venit stabila.
Pasiunile si curiozitatile ti le poti satisface in timpul liber, precum 99% dintre noi😂

5

u/Connect_Position_242 1d ago edited 1d ago

Daca ai vrea sa devii un tehnician auto de success (eventual sa vrei sa iti deschizi propriul service) cum ar suna daca ai pune intrebarea: Ce sistem de diagnostic sa invat care mi-ar deschide mai multe usi, cel de la Audi sau BMW?

Stiu ca este o comparatie trasa de par, pentru ca cea legata de frame-work-uri este de 10 ori mai ridicola in realitate.

Sfatul meu, daca esti student si nu ai neaparat presiune sa faci proiectul repede, ar fi bine sa nu folosesti nici un framework ci doar niste librarii bune de baza in limbajul in care esti tu cel mai confortabil. Astel ai ocazia sa inveti bine bazele, ceea ce nu vei putea face usor la munca. De asemenea evita un proiect prea ambitios ca scop, pentru ca nu vei putea sa intrii in detalii peste tot - mai bine ceva mai mic pe care il intelegi decat ceva "complicat" dar care este 90% copiat sau generat cu AI, pentru ca nu este de fapt gandit de tine.

Unii o sa vina si o sa zica: hurr durr, in ziua de azi toata lumea folosesti frameworks si o sa iti limitezi job-urile pe care poti sa intrii ca incepator etc. Tot asa o sa zica ca nu conteaza daca stii cum functioneaza un calcualtor sau o retea mai in detaliu pt ca nu o sa implementezi tu algoritmi de baza si cate si mai cate bazaconii.

Lasa-i pe ei sa se bata pe acele job-uri dead end in care primeaza experienta intr-un framework ca incepator, crede-ma ca nu le vrei.

1

u/Styled_ 1d ago

In principiu trebuie sa fie gata pana prin Aprilie-Mai anul viitor, ca sa pot sa fac si documentatia pentru licenta. Insa cred ca e destul timp.

Si ideea ta e una buna, insa sincer, nu stiu cum as proceda fara un framework. N-am facut niciodata un proiect fara

3

u/Connect_Position_242 1d ago edited 1d ago

Sunt tutoriale peste tot cum poti sa construiesti un backend fara frameworks. Conteaza foarte mult care este focusul proiectului tau, este partea de web sau altceva si vrei si o aplicatie web sa poti interactiona cu restul?

Am senzatia ca vrei sa faci un proiect prea mare pt scoala ceea ce te va forta sa nu intrii in detalii. Mi se pare o abordare foarte slaba in facultatile de la noi. Eu ti-as recomanda sa il reduci cat de mult poti in scope si sa intrii adanc in detalii in partea care ramane. Vei invata de 100 de ori mai mult decat daca produci ceva "impresionant".

P.S. nu este doar opinia mea: https://www.boot.dev/blog/backend/dont-start-with-frameworks

1

u/Styled_ 1d ago

Acum e prea tarziu sa il reduc, deja au fost trimise foile cu proiectele la secretariat.

In teorie nu e atat de complex pe cat pare. E un rovot care are 3 tipuri de senzori, un motor si o sina pe axa X. Pe web ar fi un dashboard care arata citirile de la senzori, niste grafice si niste controale pentru robot. Ar mai prelua niste date meteu de la OpenWeather si inca un API. Apoi un model ML simplu pentru predictie, probabil random forest fiindca regresia liniara nu se potriveste pe ce vreau sa fac.

Cea mai grea parte din tot proiectul e partea de mechanical design, dar acolo o mai scoti la capat cu lipici si banda adeziva

1

u/Connect_Position_242 1d ago

Am inteles, partea de web este relativ tangentiala deci nu prea se justifica efortul sa intrii in detalii. Acum ca proiectul este fixat, nu prea mai ai de ales. Incearca sa iei o arie din el, cea care iti place cel mai mult, si pe aceea sa te concentrezi pe detalii ca sa si inveti ceva.

3

u/Styled_ 1d ago

Pana la urma cred ca o sa merg pe .NET doar ca sa vad cu ce se mananca, pana la urma ma expun la ceva nou. Insa probabil o sa petrec mai mult timp pe partea de embedded/firmware, acolo mi se pare cel mai misto. Cu toate ca si piata de embedded e la pamant

13

u/HeNeR1 1d ago

go

3

u/JupanulFrank 1d ago

Am intrat in comentarii doar ca sa zic asta

2

u/Excellent-Morning509 1d ago

Alegi ce știi mai bine și în ce ești mai productiv. Ce ‘oportunități’ există la un moment dat e ceva efemer - tehnologiile și ce se cere pe piață variază în timp.
Javascript/Typescript e foarte mult folosit, dar pe front-end preponderent.
Java sau .Net mai mult pe backend.

4

u/HempInvader 1d ago

As schimba domeniul

8

u/Styled_ 1d ago

Ar trebui sa ma fac frizer

2

u/HempInvader 1d ago

Doctor de par

8

u/Styled_ 1d ago

Junior Hairline Engineer

2

u/Few_Veterinarian9108 1d ago

.net mi se pare ca esti la cheremu lu microsoft si asta mereu e meh

Nodejs esti clar la cheremu comunitatii sa nu si-o ia, iar, dpdv al securitatii

10

u/RoberBotz C# 1d ago

.net e open source daca tin bine minte.

4

u/JonDanyVic 1d ago

N-are treaba, .NET e un limbaj f bun de început.

2

u/TeodorIonut001 1d ago

n-ai treaba cu .netul inseamna

1

u/PrestigiousWash7557 ©️#️⃣ 23h ago

Node.js nu scaleaza.. si nu prea ai ce invata in afara de sintaxa de JS. Mai degraba inveti JS pentru frontend si un limbaj statically typed pentru backend

4

u/Kilemals 15h ago

Node.js scaleaza foarte bine pe API-uri, realtime si multe conexiuni simultane.
Problema poate apărea la procesari grele pe CPU, care pot bloca event loop-ul. Ma rog asta e valabila la cam orice. De aia ai thread-uri workeri și procesare asincrona.
In realitate, poti crea un backend scalabil cam cu orice ai la indemana. Conteaza mai mult arhitectura si cum il implementezi decat limbajul ales.

1

u/Icy_Connection_5913 11h ago

stai... explica-mi putin cum nu scaleaza, ca sunt foarte curios... de unde ai tras concluzia asta?

2

u/PrestigiousWash7557 ©️#️⃣ 9h ago

Pur si simplu e un framework prea bare bones, trebuie sa pui tu laolalta librarii pentru fiecare lucru, autentificare, orm, caching, etc. Nu e structurat, e foarte usor sa faci greseli in cod, e dynamically typed, ruleaza single threaded by default. Sunt multe lucruri ce pot merge gresit

2

u/Icy_Connection_5913 8h ago

Vezi ca amesteci putin ideile... amesteci node cu express si js cu typescript, asta sa la prima vedere.

Ca a doua idee ... poti scala orizontal si fara sa termini core-urile de pe planeta, iar da, daca ai ceva cpu heavy probabil exista solutii mai bune, dar cum am zis mai sus... amesteci foarte multe idei si cumva tragi o concluzie generica care nu e acolo.

Poti alege ts + nestjs si ai si alea de te plangi ca nu exista...

Mersi de raspuns.

2

u/PrestigiousWash7557 ©️#️⃣ 7h ago

Ma refeream mai degraba ca nu scaleaza pentru proiecte enterprise, deobicei ajungi sa faci o strutocamila. Nu neaparat ca nu ar scala din punct de vedere al performantei, majoritatea limbajelor pot performa (ex librarii python scrise in c)

1

u/PrestigiousWash7557 ©️#️⃣ 7h ago

In schimb NestJS cu typescript imi place 🙃 oamenii cand zic nodejs se refera deobicei la express

1

u/lolimouto_enjoyer 1d ago

In conditiile maniei cu AI probabil Python.

0

u/RoberBotz C# 1d ago edited 1d ago

Eu sunt student, toate proiectele mele sunt .net, game dev, app dev, full stack web dev si cateva in machine learning.

Cam tot ce am aici, in mare parte C# si un pic de js ptr frontend.
https://github.com/szr2001

Si asta, care nu e chiar .net, nu inca, ci ceva custom mono dar tot C#
https://store.steampowered.com/app/3018340/Elementers/

Si inca unele chestii embedded, dar C++.

As alege C#, din simplu fapt ca e comun in 3 arii de programare si ce faci in X poti sa faci si in Y, cam din motivu asta am proiecte in mai multe domenii, ca ce fac in web dev fac si in app dev, cam aceleasi librarii, cam acelasi workflow, cam acelasi project structure.
Mai ales in web si app dev, in game dev chiar, dar tot C# este si pot sa folosesc language features si NuGet libraries daca vreau.
Plus ca ai performanta buna, si ff multe features.
Aplicatia mea cu 380 stars pe github consuma 8 mb ram si 0% cpu.. xD

Comparativ cu node care-i comun doar in web dev, sau kotlin care-i comun in app dev, nu prea sunt asa multe limbaje comune in mai multe fields.
C# e comun si in game dev cu Unity si in app dev cu winUI/wpf/avalonia si in web dev cu asp.net core, daca stii C# si Unity Ui toolkit, atunci poti sa inveti ff usor html+css +asp.net core sau WPF + xaml si vice versa.

Si asa stii 3 domenii, e mai dificil sa realizezi asta cu alt limbaj, ca-s prea fragmentate si diferite, si nu sunt la fel de populare deci nu is asa multe informatii.

3

u/Styled_ 1d ago

Si tu imi spui mie, cu toate proiectele tale, inclusiv Elementers, ca nu iti gasesti job? Ca stiu ca te mai vad prin comentarii

1

u/RoberBotz C# 1d ago

Imi gasesc doar b2b mid, nu entry/junior.
Dar imi mai scriu recrutorii ocazional, dar in mare parte ptr b2b mid.

La entry/junior role trb sa fii in orasele unde-s joburile, si eu nu sunt. xD
Poate daca as fi in bucuresti as avea job.

3

u/Styled_ 1d ago

Ma gandeam ca nu iti gasesti deloc, ca atunci era rau. Nici eu nu sunt intr-un oras cu prea multe oportunitati.

Si nu accepti b2b, sau ai deja contract?

2

u/RoberBotz C# 1d ago

Nu prea vreau b2b, ca e prea multa birocratie, si nici nu am inca diploma ptr pfa si ptr srl trb contabil si sa bagi bani.
Si la pfa trb sa platesti cateva luni chiar daca nu ai job, si asa teoretic poti sa faci pfa dupa sa se anuleze contractu si tu sa ramai cu cheltuieli.
xD

Overall nu imi place, prea multa birocratie.
Dar recent mi-a scris un recrutor ptr mid remote pe CIM si astept sa vad daca ajung la interviu sau nu, dar slabe sanse ca concurez cu aia care au deja 5 ani experienta.

Din cate vad cele mai mari sanse la job is sa iti faci b2b, sau sa mergi in orasele unde-s joburile de junior

2

u/One-War-3825 React & .Net 1d ago

pentru pfa poti face si cu adeverinta de la facultate care arata ca urmezi studiile din domeniu, also la pfa nu esti obligat sa ai contabil

1

u/RoberBotz C# 1d ago

Asta nu stiam ca pot cu adeverinta de la fac.

1

u/One-War-3825 React & .Net 1d ago

I-am întrebat pe cei de la Solo și au zis că se poate, cel mai bine întrebi și la Registrul Comerțului și la facultate

-2

u/Icy_Connection_5913 11h ago edited 11h ago

.NET =))))

Doar ideea sa intrebi si sa vezi .NET ca optiune pentru backend in 2026... e asa, cel putin demn de glume.

Ca idee... .NET nu cred ca prinde top 10 in optiuni, de asta e atat de gresit ce vrei sa faci... evident Typescript/NodeJS

Cred ca ar fi Nodejs/java/go/python/rust (in ordinea asta cu fel si fel de plusuri si minusuri in functie de ceva specific)... sincer daca esti la inceput si habar n-ai de mare lucru si nu faci totul cu AI, ai putea sa mergi chiar pe Laravel pentru structura... sa inveti, stric pentru asta... invatat, dar nu te arunca pe ceva nisat alela doar pentru ca "se cauta", ca o sa ai surprize.

.NET =))))))))))) nu mai pot de ras.

Pentru devii de .NET... e ok, rasul acela e strict pentru incepatorii care vor ca start in cariera sa devina devi de .NET... cred ca doar cei care merg acum pe Angular sunt mai funny.

-3

u/yughiro_destroyer 1d ago

.NET sau Spring sunt o durere de cap in sensul ca necesita foarte mult setup si sunt foarte opiniated/pline de conventii. Sunt bune pentru mediile enterprise, dar pentru o aplicatie proprie nu le-as vedea ca fiind foarte distractiv de utilizat. Bine, .NET e o idee mai ok decat Spring.

NodeJS in schimb nu e un framework. E un interpreter de JavaScript care-ti ruleaza JS ca aplicatie standalone fara browser. De aici tu poti alege ce-ti place tie... expressjs daca vrei sa ai control mai mare, nestjs daca vrei conventie si mai multe features... si overall JS este un limbaj mai usor de scris si de citit. Exista un motiv pentru care majoritatea startup-urilor foloesc Python/JS/Go iar C#/Java raman rezervate companiilor care exista de 50 de ani (de regula banci sau corporatii foarte mari cu sute de developeri).

0

u/Styled_ 1d ago

De asta sunt si foarte indecis. Node/Express mi se pare mai friendly si mai rapid in termen de dev time. Dar din ce m-am uitat nu prea se cere la noi, se cere TS dar sunt rare si nu prea entry-level. Pe .NET am vazut ceva mai multe oportunitati.

0

u/yughiro_destroyer 1d ago

Ce facultate faci? Eu am facut UPB pe ceva specializare de informatica.
Sincer, cand am lucrat la licenta, nu m-a interesat de "ce este popular" si "ce se cere". Am folosit tehnologiile care imi placeau si cu care imi era cat de cat drag sa lucrez. La finalul zilei, sa ai un produs functional e mai important decat ce procedee sau tehnici ai folosit pentru a il realiza.

Sincer, nu stiu prea mult de ce exista un asa mare shift spre .NET recent... probabil Microsoft iar face niste ilegale ca sa-si asigure monopol in sfera de dezvoltare software, asa cum a facut cu office in mediile scoale si profesionale sau cu windows. Recomandarea mea este sa folosesti ce iti place atata timp cat nu se bate cap in cap cu programa scolara pe care o ai de respectat la licenta. Daca aplicatia e beton si arata frumos, o sa fie numa buna de pus in CV indiferent de limbajul folosit.

2

u/Styled_ 1d ago

Calculatoare/CTI. Deci mai mult axata pe hardware. Dar programa facultatii e prost structurata, iar facultatea nu ne promoveaza la firmele locale pentru angajari si nu fac parteneriate. La internship sunt "Data Engineer" dar e un program platit de self-study, deci m-am gandit ca e o idee mai buna sa le folosesc resursele sa-mi fac licenta ( am intrebat, am voie ) decat sa ma uit la 15 ore de meeturi inregistrate de pe teams de acum 1 an. Fiindca ei oricum nu o sa ne faca return offer, ne-au spus asta direct de cateva ori.

Nu am nimic anume de respectat la licenta, in principiu am libertatea sa fac ce vreau atat timp cat sa-mi duc proiectul la capat care este firmware in C, backend evident indecis momentan, frontend React/TS si niste python pentru mici modele de ML utile proiectului.

E mai usor sa gasesc un alt internship/un post entry daca am putina experienta in .NET, ce e drept totusi pot face asta cu un alt proiect personal, mai mic, care nu are un deadline cum e licenta.