What to learn next?


I am a PHP developer. I have been working on PHP over the last 3 years professionally.

Now I am planning to uplevel my skills. I want to learn something new programming language.

I have narrow down 3 programming languages to learn. I need your opinion about which one should be a wise decision to choose-

  • Ruby
  • Python
  • NodeJs

Thank you.

JavaScript and Python are showing the biggest growth for the last 7 years and Ruby is slowly fading.

Python is used extensively in Data Science and Machine Learning. It is also used to create Backend APIs.

Node.js is used in microservices, serverless and Backend API’s.

It heavily depends on what you want to do going forward. Do you want to move into Data Science/Machine Learning or do you want to stick with Backend development? It also depends on what is used in the region you live in. My suggestion would be to check what is used in your region or the region you want to move to and then learn that.


I dont have any intention to move to data science / ML.

I want to stick with Backend Developer, but want to learn one more programming language that will boost up my career.

It might be helpful for me to get the better job and increase my salary :wink: .

1 Like

Node.js is growing the fastest at the moment and I personally prefer JavaScript. But Python is a really popular language and creating API’s with Flask is growing as well. I would suggest checking the growth and job opportunities in your general area to see what is used and what the salaries are at.

If you see Ruby and Ruby on Rails is used in your area and they pay extremely good salaries then it would be a good idea to learn it.

Making suggestions on what to learn is very subjective. The best is if you can see what is used a lot in your area and then focus on that.

Thanks again for your reply.

Yeah, of course, what to learn is most of the time depends on what I have in my mind to build next.

I have noticed that node js is growing very fast and it has a very good job market and salary. But Node is mostly used for API backend that I can develop by Laravel easily.

That’s why I was thinking to learn something else that will give me a new flavour and help me to get a better opportunity.

What do you think?

1 Like

NodeJs will be a good choice as Js is everywhere now.

1 Like

Any will be useful from a learning perspective. They’re all general purpose dynamic languages primarily built for scripting. You can generally build anything you want in any of them, but sweet spots:

  • Python: scripting, building programs that provide more human-friendly interfaces to other stuff. Hence why it’s big w/r/t machine learning, it’s much easier to write stuff for a Python interface for a C/Fortran program than it is to write C/Fortran programs every time you want run some simulations. This applies to a lot of stuff outside ML: deployment for example. Automating any mundane repetitive task that you can think of that could be programmed: you can probably do it pretty easily in Python (whereas with PHP…no)
  • Ruby: scripting as well, arguably nicer to work with than Python, but Python has the traction.
  • Ruby: very fast prototyping of web apps via Ruby on Rails. Laravel is very similar; RoR is very good though.
  • Node: servers for fast realtime systems, API servers, proxies. You could write a chat app in PHP for example, but it’s likely to be a helluva lot easier to use Node.

No doubt that, node is getting popularity very fast.

But most of the purpose of nodeJs can be achieved by Laravel, right? From that perspective, I am planning to learn something else that can be boost-up my skill level.

Yes, you are right. I have same concept of learning too.

However, since I have to choose one, I was thinking to learn Ruby and then RoR that will help me to do almost similar tasks with full of flexibility of choose.

What do you think?

You have a lot of technologies to decide from, and choosing which one to start with can easily overwhelm you. They’re all good choices, so I’d suggest you start with whichever one you think would be the most fun to work with.

Personally, I find Python and Ruby to be lots of fun as languages go, since they’re both so awesomely expressive, but I’ve never found a python web framework that feels “fun”. Laravel is based on a language I detest, but it’s such an awesome framework that I don’t actually care that it’s in PHP. Your own values on what you find to be fun will almost certainly be different than mine, but my overall point is, don’t discount it as a criterion for choosing between otherwise equal alternatives.

1 Like

Thanks for your reply.

Yeah, Your point make sense. Let me think once again. :slight_smile: