The only backend server side language I know is Node.js. However I have noticed that on some job search platforms server side languages like Java seem to be the most in demand. And I recently had a recruiter reach out to me about a role but the backend server side languages that they wanted was either Java or Python. Node.js is growing in popularity but it seems like there are still many other server side languages that have more usage within the industry.
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (9)
In terms of "get a job" practical, I'd recommend Java and Python.
You could learn Python first since it's a fantastic language, however, most backend services err on the side of lowering latency but not going so "low" as C++, which is right where Java fits in.
If you have familiarity with JS/Node.js, Java, and Python, you'll have an incredibly solid resume. They're each incredibly versatile languages and so knowing all three opens up a ton of opportunities.
Python would probably be easier in my case because I already have Udemy courses on Python I just haven't used them yet. Java as well gets talked about a lot I did get some exposure to it back in Uni but never explored it deeper.
Some comments here recommend to focus on Go (performance) or Python (simplicity). A language that combines both, the outstanding optimizations of Java Virtual Machine (JVM) and ease of learning, is in my opinion Kotlin.
With Kotlin, which is multiplatform btw, you will be well prepared for full stack development. Compared to Go, server-side issues like concurrency are handled similarly (Goroutines in Go, Coroutines in Kotlin), while Kotlin is way easier to learn. Plus, once you know Kotlin, Java will be no problem.
But that's just my point of view. In general, I think the language isn't the most important thing in the backend anymore thanks to microservice architectures (each services might be implemented in a different language).
Thanks I am leaning towards Python and Kotlin. This article helped too techbeacon.com/app-dev-testing/why... he mentions Java being old and error prone and having to put up with NullPointerExceptions in Android Apps. Kotlin is the solution it seems.
The only other two considerations I have is Go and Rust which I don't know much about yet but you explained some areas of Go already.
While language versatility and adaptability are important, you have the benefit of a language you not only know and can build upon, but which is continuing to grow in use cases.
I just presented to a group of Drupal (PHP-/Symfony-based) developers last year on how a simple Node microservice alongside their monolithic CMS might make more sense and take less time to add custom functionality than writing custom modules which have to be written in the Drupal way and conform to its API.
As serverless options expand (and gain more and more use in companies), JavaScript backend functions are even easier to implement than with containerized microservices (yes, I know they're still containerized, you just don't need to worry about managing the containers). With Cloudflare Workers (based on service workers), you don't even need to (and in fact can't) use Node.
Most practical is quite subjective, if you want performance then don't go with Ruby or Python but if you want a job then those have pretty good job markets.
It's all personal preference at the end of the day otherwise
I would recommend Go since it's the language of the cloud (Go for Cloud) with great performance.
Go seems cool I do remember interviewing with a company and they said that Go was a new language their developers were learning as they were big on personal development.
Go seems like a great bet!
I built a REST API just the other day using the Go Fiber framework. It felt so similar to Express. Go is faster too and has benefits like concurrency.
It makes a lot of sense for companies to switch to a Go Backend since its great for micro services too and also because I think Go is moving closer and closer to being as mature as NodeJS or Java.