TLDR; Being a polyglot is harder than I thought.
I’ve been trying to explore different languages - at least being aware of them in some capacity - and I’m finding it tough to really get into building anything with the language that I already know.
Sometimes I tinker with Python or Ruby but I always go back to Js. Even so, I like being aware of the options that are available and learning about them. It can be overwhelming sometimes though.
Should I give Js a break for a few months, and stop thinking about other languages and just focus on Ruby or Python, or should I keep looking for Js jobs since I’m more comfortable with it?
Is there a right way to go about learning multiple languages?
Hii @alkapwn3d! there are a lot of JS jobs out there; actually more than any of the languages you said above. However, you need to start learning a framework. If you have a good understanding of JS as you said, then start with React and in a month or two you can get a job; also, I think building something would be great. FrereCodeCamp has React as well so you can start there.There is also Angular; so explore the two and decide which one you like.
There is no right or wrong way for polyglot or not, IMO. Some people like going very deep into one technology, become experts and hardly touch anything else. Some people like to play with different toys and get familiar with many languages/frameworks, but don’t reach the same level of expertise in any of them as the first group.
If you like JS/TS, stick to it. It’s definitely a language with future. Only if for whatever reason you don’t enjoy it, I’d consider switching - but even then, choose one alternative option.
There will be time when you might want to pick up more tools, but I don’t think doing this very early on will make you very productive.
Coming back to a problem after you’ve looked at it through a different lens is often useful. Lots of problems in programming are common, and have been solved well by communities other than the one you currently inhabit. Many of them were solved decades ago. It won’t necessarily help directly with getting a job: it takes time to become halfway decent to the point where you can build practical things, and employers generally want people who are halfway decent. But it’ll likely help you a lot, even though its a lot of work.
The right way? You know one language to usable level I think. Pick another one and look for how you do the things you know how to do in JS. Then look to build something you want to build. Also, make sure you know how to set up the environment for the language and compile it (if it needs compiling); tooling is always a massive pain in the ass.
(Learn woodworking; metalwork, they will not make you a carpenter or a blacksmith any more than mastering writing will make you a clerk.)
I believe there are two core reasons you should go out and learn a 2nd+ language
Job opportunity related reasons. If there are tons of jobs in 1 lang/technology then learning it might open up more doors as there are more jobs with language X than Y, or you’d rather go into a field with language A than B. Don’t learn a technology if there are too few jobs for it, and you need a job sooner rather than later.
Validating existing common concepts, and maybe picking up a few new ones. What I mean by this is if you just know 1 language, its very easy to tie that language’s syntax/features with general concepts. The concept of an array is similar, but not 100% the same as
new Array() in JS.
I would not go out and learn languages if you want to just learn languages for the sake of learning languages. Syntax is cool, but languages are more than just syntax. Also, saying “I know 5 languages” doesn’t mean anything if you aren’t any good with any of them, or have a weak understanding of programming in general. Programming languages are the tool used to solve a given problem.
The choice is really up to you and your own situation, as like most things the best answer is “it depends”.
PS. I used to try to learn a ton of languages when I started out (Java, Python, C, C#, JS) then I realized I was pretty weak in the base concepts. I ended up focusing on Java and Python initially, then moved over to JS due to job opportunities. I only “glance” over other languages like Clojure, and GoLang here and there more out of curiously than anything. I found its difficult to learn a new languages if I can’t use them for what I work on, so I usually stick with my bread and butter. If I were to get another job that focuses on another language I’d go all in with the new language though, JS/TS are useful, but languages like Java and C# still rule a lot of job markets.
I´m only a Junior Dev but I believe that besides from the language, the programming concepts are more useful, when it comes to learning multiple languages I believe that one should pick only 2, say a compiled “typed” language like Java and maybe a “scripted” language like JS or Python.
That´s what I did and even though the only typed language I have used is Java I have found that there is not a huge difference between Python and JS or R cause they are all in that same script category.