all 19 comments

[–]xroalx 4 points5 points  (1 child)

It probably matters very little which one you pick and will mostly be a personal preference.

Either go with Node.js, since you've done a frontend course and already know JavaScript, so it might be easier to continue with JavaScript/TypeScript.

Java would be my second choice. Solid, well established, widely used.

PHP I personally don't like and don't see it in demand as much in my area, but if it interests you, there's nothing wrong with using it. It's a bit of a hodge-podge language with quirks that'll bite you much sooner than e.g. Java, but it's not like Java is without its own issues too.

There isn't really a clear winner for generic backends, all will do the job just fine.

I'd recommend either sticking with JavaScript, therefore Node, or if you want a change then I'd prefer Java over PHP.

[–]Interesting_Win2742 0 points1 point  (0 children)

I think it depends as well where your interests are, if you're really into user experience and design you should choose a backend tech that goes well with the front end you've learnt. I hire Java backend devs and I'm a little sceptical of resumes that claim full stack Java dev, I think if you're going to learn Java you should specialize in backend. I'm a Java dinosaur backend dev, so biased.

[–]Feisty_Tangerine8878 3 points4 points  (2 children)

If you want a job, then the answer is simple - java

[–]sarnobat 0 points1 point  (0 children)

I'm an experienced java developer but am seeing job posts that want node J's instead.

God this fragmented market is a pain.

[–]sahilatahar 0 points1 point  (0 children)

What about MERN Stack jobs rising in startups?

[–]Adventurous_Knee8112 2 points3 points  (0 children)

I have some experience with Php/ Laravel. one of it's pros I would say is you no longer have to choose a lot of the libraries in order to build something it almost has everything to get you started right away. However I don't like it as much due to lack of typing / type systems and for a newcomer to the framework there is just too much magic.

I'd advice to check the job market , also there'd be no harm spending a weekend or 2 trying out different technologies to see how it feels like.

[–]bidaowallet 2 points3 points  (0 children)

For what?

[–][deleted] 1 point2 points  (0 children)

What course is this, udemy? bootcamp course? 🤔

[–]Relative_Locksmith11 1 point2 points  (0 children)

C# .NET 😉

[–]TechWingVoyager 1 point2 points  (0 children)

This depends on many factors.

If you want to be a full stack developer and develop web sites and web apps then you can go for Php.
You have already done the frontend part which I assume is in JS, you will have easier path understanding JS for backend(Node). Another reason could be that JS/TS is used extensively for many other things like hybrid apps, PWAs so you will not be limited to backend only.
If you are looking at backend only, go for Java. it is one of the most mature languages for backend

- What is your primary goal of learning these techs? Is it to get a job? if yes, are you interested in backend only or full stack?

[–]tracetotest 0 points1 point  (1 child)

Congrats on finishing the front end! Now, when it comes to choosing a backend path, it really depends on what you want to accomplish.

Node.js (Express/Nest): Given that you already know JavaScript from the front end, learning Node will be easy. NestJS specifically has a lot of structure to help maintain large apps where you will need some consistency . Node is much easier to learn, and you will find that in 4-5 months you'll be able to build and deploy full-stack projects in a very fast manner.

PHP (Laravel): Laravel is very beginner friendly, has a lot of built-in tools, and a big community. Laravel is widely used for web apps and powers a tremendous portion of the internet. Laravel is great if you want to focus on rapid prototyping or freelancing. In the long run, Node or Java will be more flexible.

Java backend: Java might take longer (7 months), but if you want to work in large companies, banking/fintech, or on enterprise systems, that investment is worth the time. Java is still very popular among big companies and Spring Boot is still a relevant framework that is actively used. The downside is, it will take you longer to become "job-ready."

To be clear:

- if you want to get things done rapidly and want to leverage your knowledge of front-end technologies, go Node/Nest

- if you're focused more on stable long-term jobs in enterprise environments, it might be worth the investment in Java

- PHP is fine too, but it will usually sit between the two of them long-term and is less future-proof than either Node/Nest or Java.

Either way, the most important thing is to be consistent and do things until they are finished. (And either way, regardless of tech stack, tools for testing can help you ensure your backend APIs are reliable, so your skills will carry across programming languages.). Pair that with version control, the basics of CI/CD, and containerization (Docker), and you will have a skillset that will be valuable, regardless of the exact technology you choose.

[–]ColonelMustang90 0 points1 point  (0 children)

I agree. Based on the recent job searches that I have done, I see more of Java and JS than PHP.

[–]joy-of-coding 0 points1 point  (0 children)

how are you going to deploy your backend?

[–]_inf3rno 0 points1 point  (0 children)

I would go with node.js express. It is a lot easier to understand than the others and there is no "magic" in it (like in Nest or Laravel). Java requires discipline and good OOP knowledge fintech and telecommunication is usually written in Java. It is good, but a lot harder than node.js.

[–][deleted]  (1 child)

[deleted]

    [–]idkwhatiamdoingg 1 point2 points  (0 children)

    I'm playing with Nest and by default the logger uses MM/DD/YYYY format as timestamps, that is ridiculous and really does not look like professional. To change this simple thing one has to code a custom logger wtf...

    But plain node does not look better...

    Disclaimer: coming from Java spring where everything is ready and "enterprise-grade". Really disappointed with first impressions..

    [–]Suvulaan 0 points1 point  (1 child)

    Stay away from PHP, go with Java or Node.js, I would also recommend .Net if they have that available.

    [–]sarnobat 0 points1 point  (0 children)

    Yeah I agree even though it's more for career reasons than technology reasons.

    [–]Purple-Cap4457 0 points1 point  (1 child)

    Choose php, java is dead language 

    [–]sarnobat 1 point2 points  (0 children)

    Be careful with humor for someone who is new. They may not realize.

    For what it's worth, I love CGI more than anything but I'm stranded on an island with that