HACKER Q&A
📣 lampe3

What back end language should I learn in 2021?


Hey,

I mostly work with Javascript/Typescript. Now I'm thinking what backend Language/Framework should I learn in 2021 to have better position when getting jobs as a full-stack Dev?

PHP? Java? .NET? Go? Rust? Any thought on that?


  👤 pizzaknife Accepted Answer ✓
I would offer looking more towards understanding architecture and systems design. How modern applications are deployed has significantly changed since many of these languages were designed and documented. Most tutorials will force the narrative inwardly, into language centrist processes and instruction, leaving really important design decisions/concerns entirely out of the picture.

Since you say you have a handle on TypeScript - that means you have enough conceptual understanding to really move to "any other web orientated language" with only mild idiomatic barriers to overcome. IMHO - learn about the concepts of microservices, api-gateways, "serverless" and similar. Then decide for yourself, what problem you'd like to solve - pick the language last

Edit: Since "employ-ability" is a desired outcome ~ python/dotnet/java/nodejs - no specific order of recommendation from me


👤 gjvr
1. The point regarding architecture is a good one. Choose what is best for the problem that needs solving. 2. If you want to do heavy duty server stuff that has a large RAM state (and long) running, then Go is great: - Run time is fast - It is statically typed - It has IMHO really good Garbage Collection. - It has channels (but also regular MUTEXes). - It is co-invented by Ken Thompson (who is the inventor of B which came before C). That in itself is not proof of quality of course, but it does give some idea.

Disadvantage is that you do not have the luxury of generics as in Typescript... (yet)


👤 nikivi
I like Go as it has fast compile times and many libraries. And it's fast too.

👤 oriettaxx
Ruby, mainly because coders should enjoy coding, while computer should follow (and not the other way around) :)