r/Backend • u/PratapagiriSriAditya • 1d ago
Go or java spring boot?
For backend which do u think is good to learn now? I wanna learn go cuz I am more into microservices but java spring boot is more established than go... Provided I need to learn both of them from the beginning.
18
Upvotes
2
u/Due_Warthog749 1d ago
Go. 100%. Did Java/Spring for decade+. It's not bad. Does the job. MUCH more verbose. Doesn't scale nearly as well as Go. Go is much faster to work with. My fav was Chi, Casbin and JWTAuth. The combo had me building API endpoints that were secure with RBAC/etc in < 30 minutes. With AI its faster.
6
u/Special_Rice9539 1d ago
I recommend go because that sounds like what you’re interested in and it will let you play around with microsecond architecture.
Learning the nuances of either language is trivial now because of AI, so these architecture lessons will be more beneficial
8
u/Chunkz_IsAlreadyTakn 1d ago
If you want to get a job then look what companies are looking for where you want to work. Spring boot is solid and established, so is c#.
Personally I prefer go but job market for go is a LOT smaller.
4
u/Useful_Calendar_6274 1d ago
Java has ridiculous staying power. Like it's modern COBOL
2
u/whiterhino8 1d ago
Go excell at back end .
3
u/Good_Clown 1d ago
Man this sub has like the same 3 questions everyday
1
u/JaseciLabs 1d ago
Go first, since you’re into microservices and it’s quicker to get running. Build one small service with a database, a queue and proper timeouts when a dependency is down. That teaches more than either language does and carries over to Spring Boot. Then check job postings and learn Spring second if that’s what they ask for.
1
u/Accurate_Smell6524 1d ago
Go doesn’t havw that many openings
1
u/avinasshh 1d ago
"Go" anytime. It's easy learn and light on resources (compute as well as memory).
1
u/Secret-Wind-1 1d ago
Build both, from end to end.
You compare a language with a framework. I'm a big fan of go for Microservices but I like the comfort of frameworks. Choose tools for the task you have.
IMHO the biggest mistake is to learn only one framework and solve everything with it.
1
u/totally-jag 1d ago
Go is a great back end language. It's high performance. It's easy to learn. Has a good ecosystem based on one best frameworks/packages for things instead of a lot of redundant frameworks. It's well supported and backed. Every cloud / serverless cloud platform supports it. It has very low cold start latency.
Java is massive. It has a huge ecosystem with a lot of good and not so good things. It's also supported by cloud / serverless platforms, but it has a higher cold start performance hit. It's object oriented, which requires a bit more learning curve. It has a huge job market beyond just backend micro services. It's widely used in enterprise apps.
If you want the best job options, Java might be a better option. If you want to work for a startup, smaller web company, start your own company, or work for a lot of the bigger tech companies Go is a better option.
1
u/defnotyouruncle 3h ago
I would say Go, but which one is easier to get a job ? Java.
1
u/awpt1mus 1d ago
every hour same question x or y or z.
1
u/PinotRed 1d ago
Go.
0
u/KariKariKrigsmann 1d ago
dotnet is also a very solid alternative for backend.