Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Most employable programming languages for 2022 and beyond?
30 points by xaxaxb on Sept 28, 2021 | hide | past | favorite | 58 comments
Preferably for freshers



If you step outside of the HN language of the month bubble, you'll see lots of boring companies using languages like PHP and C#. They're not flashy, but they're used everywhere and aren't going anywhere. Sure, they'll be back office type jobs, but they will be stable with good enough benefits and probably won't tolerate rewriting the entire stack in the latest technology every 6 months. Then layer on JS/CSS with whichever backend language you like and you should be fairly safe.

Stack Overflow's survey may be useful to look at, too. https://insights.stackoverflow.com/survey/2021#most-popular-...


I wonder. Cost center development work seems most vulnerable to deskilling by low-code/no-code and offshoring through the increasing acceptance of remote work. Using hipster languages can be silly in a lot of ways, but it at least communicates that a company is very developer centric.


Enterprises have been trying to outsource development for the last two decades and failed miserably. The low-code/no-code trend is mostly a bust like AI/ML.

Chasing hipster languages is rat race. If you are strong in Java, with reasonable professional behavior and don't live in the middle of nowhere, you'll make decent money for a long time.


They failed miserably at getting things done with remote workers, which is indeed difficult, but there's no longer any alternative.


You confused remote workers with offshore outsourcing. There is a huge difference.


The point of remote workers is it doesn't make a huge difference where they are.


I would genuinely like to know what you think makes remote workers in the same country so much more effective than remote workers in different countries. And how you explain the constant references to globally distributed teams in the remote-work literature (Basecamp, GitLab) if those are such different things.


The hipster SV startup asking developers to do hackathons on weekends is hardly more developer centric than the traditional company paying a ton of money to a contractor to work 40 hours a week on C++.


> rewriting the entire stack with the latest technology

After seeing a couple C# companies do expensive switchovers to .NET Core, this part made me chuckle.


And a Blazor rewrite of the frontend shortly behind that, if they haven't already.

My previous company had to rewrite a bunch of its old (~7 year old) code from Silverlight just before I started working there too.

We also rewrote the front-end of some apps from AngularJS to Angular 2+ while I was there (and their older apps had some jQuery and Knockout code still in there), which took some time also.


> you'll see lots of boring companies using languages like PHP and C#

Rather, you'll see a lot of companies using tons of C++, C and, to a lesser extent, Java.

A lot of those companies do very serious stuff, like automotive, industrial automation, aerospace, home appliances instead of some "uber for dog walkers".


Lots of boring companies using C#?

You know, many top unicorns use C#, many top gaming companies use C# (including Blizzard). Just because you have some weird anti Microsoft-bias doesn't mean there's anything inherently wrong or "boring" with C#


Just checked the parent's past comments and I don't see how you can say that. I think "PHP and Java" would have been just as apt but maybe not raised your hackles?


I didn't say C# was exclusively used by boring companies. I made no claim that it was a bad language, quite the opposite (I would probably have it in my top 5 back end languages). I'm not using boring as a derogatory adjective-- just as catch-all for non-VC/FAANG companies. If you look at "boring" or mature companies such as insurance or consumer good companies, where technology is viewed as just a tool to solve the business objective, rather than the feathers of the goose laying the golden eggs, you will find different priorities-- such as programming languages that take into consideration backwards compatibility, scalability from the start, development time and general support ecosystem.


And the general balls-deep buy-in into the MS ecosystem.


Not GP but I didn't interpret it to mean that all C# companies are boring, or that the language itself is boring, just that many boring C# companies exist.


Yep, the better terms to use are ones like stable or anchored. Companies that aren't trying to push the bounds of development and are just trying to work for their own business.


I will summarize what others said and I will add my own thinking as well.

Web Development: PHP and Javascript and its ecosystem

Mobile Development: Java/Kotlin for Android and Objective-C/Swift for iOS

Enterprise software: C++, Java, Rust and Golang

Machine Learning, AI and Data Analysis: Python and its ecosystem

Embedded: C and Rust

Game development: C++ for PC and Game Consoles, Java as well for PC games, Java/Kotlin for Android games, Objective-C/Swift for iOS games and Javascript and its ecosystem for Web games


There's probably more use of C++ in embedded than there is Rust. Heck, there's probably more Ada and assembly, too, if you look for it. Rust might beat out Forth by now.


This is a great list and points out the flaw in the question, which is "employed at which type of company". A web consultancy has different needs from Intel, so they use different languages. Yet both hire "freshers" and other programmers.

One thing I'd add to your list. The Microsoft ecosystem is big in the enterprise, so C# should go on that bullet point.


I never worked in the Enterprise software industry but when I was researching Computer Security and especially Windows Computer Security I saw a lot of C# software in the both "Red Team" and "Blue Team" camp so I suppose it must be pretty popular and useful in the Enterprise industry. I mentioned C++ and Java first because they are kings of Enterprise software. Rust and Golang are newcomers which are rapidly growing.

Yea I know Microsoft ecosystem is huge for example all Windows sysadmins use Microsoft's PowerShell scripting language to manage their networks.

Also in the "Web Development" I didn't mention HTML and CSS because they are not exactly computer programming languages but a markup language for web documents and a style sheet language for web documents respectively.


C# is probably a better bet than Java for PC/mobile games nowadays, as Unity is the second biggest game engine besides Unreal now, and probably the most common amongst smaller and indie companies, and that's C# under the hood. You'd also be able to make Android and iOS games from the same codebase.


I'm pretty happy using most languages, even C is fun... There's something about it which pushes my buttons.

PHP, however, needs to be dropped kicked out of the window.


You probably should add C++ to embedded. It's used a fair amount, at least on larger processors/projects.


And remove Rust.


What are freshers?

Most employable languages are still the enterprise languages.

1. Java and its ecosystem

2. JS and its ecosystem

3. Python and its ecosystem

I see more and more people are asking framework experience as well now.

1. Spring Boot

2. React

3. Pandas

Add AWS to your resume, you can probably ride AWS/Java/Python for the next 10 years.


Fresher is entry-level junior developer at their first job or looking for one. This term is mostly used in Indian context.


A lot of Julia-based companies just hit big Seed A, Seed B, etc. rounds, with a lot more startups entering the space as well. There is a glut of Julia programmers in the industry now given all of this hiring. "Most employable" is hard because no one is in all places, but I can at least tell you that locally there is and will be a lot of hiring in the next few years here.


Oh, fascinating. Do you have any examples? I'm learning Julia and would be interested in setting goals for working at one of these startups


Posted in another reply.


> locally there is and will be a lot of hiring

locally as in in the Silicon Valley? Or did you mean it another way?


The Julia-based companies I know of tend to be more clustered around the upper East Coast (Boston, Canada, New York), though there is some in California.


Examples?


Julia Computing is hiring.

https://juliacomputing.com/careers/

Relational AI is hiring.

https://www.relational.ai/careers

Beacon Biosignals is hiring.

https://beacon.bio/careers

Invenia is hiring.

https://www.invenia.ca/

and I can keep going. There's to cause pleasant competition, so it's a good pool for people to enter (and a good pool for me to find more people for haha).

In julialang.org/slack there's a #jobs channel that gets a lot of posts. https://discourse.julialang.org/c/community/jobs tends to get some (but surprisingly not most) of the posts, and it's more about academic positions (though #academia in the slack tends to be better). And the #julialang Twitter tends to post some jobs around.


Thanks!


Employable by what kind of companies? I'd imagine the following aren't going away anytime soon and will likely be employable for entire careers for many people: JavaScript, java, c#/.net, python, c++, go - basically just find what Enterprise is using and learn those


Find a programming language you actually like and want to use rather than what will be popular for this is the way to true happiness. You don't want to have to code javascript just because it's popular.


I'm trying to find a sweet spot.


Python for job orchestration (Airflow) and data science (numpy, scipy, etc) , Java 16+ for the general enterprise, product development, Julia for HPC. C for embedded, C++ for games, highly intensive systems.


Can't have a most employable list without mentioning JS. Personally I'd swap Julia for JS. Apart from that this list tracks.


JS for HPC instead of Julia?


No Rust, no Go? (Not that I am rooting for them)


Go maybe, especially for tooling, backend and ops work, from my perspective Rust will take a while longer employability-wise but probably still worth learning.


Which enterprises have upgraded Java since 8?


I am currently digging into Nim. It feels like Python, does some things better, and not very many things worse. It is strongly typed, has method overloading and Macros. Creating objects is much more enjoyable than in Python. foo(a, b) can be written as a.foo(b), and foo(x) can be written as x.foo. The docs are very good.


First time to hear about it. I don't think it will be most employable in 2022


Agreed. Looked into Nim a while ago. Docs are really good. Is it good for jobs?


> Is it good for jobs?

Not yet, I guess. It is too new.


And it is compiled (using a MinGW C compiler)


Backend: Python (Django) Spring Boot

Frontend: Typescript (React + React-native) Kotlin, Java and Swift

Quite a good way of getting into mobile development is to start with react-native and learn the native languages by adding modules.


As a Python backend services dev I fear a lot of the Python popularity you see is data analyst and data science/data pipelines/ML roles so if thats not your bag then don’t go all in on Python.

Lots of companies doing cool backend things are doing Golang now, and I see Infra/SRE roles mention Go a lot.

and of course endless tons of both cool and uncool companies are still committed to Java.


Definitely learn the boring ones, C#/Java, SQL, JS and such.

But IMO also learn other paradigms. Such as FP or a LISP.

And definitely read: https://dl.acm.org/doi/pdf/10.5555/1243380

This is THE must read book IMO.


Client side developers are in need: JS, Dart, Java/Kotlin (android), Objective C/Swift (ios).


Ruby should be up there. Github, Shopify, Airbnb, Twitch and tons others are using it, but also growing incredibly. Growth of the Ruby talent pool slowed down while the JS SPA fad went nuts, but growth of companies using it didn't! So the Rails job market is hot--supply is down, demand is up!

Throw in the new Rails 7 upgrades with simple JS packaging, turbo and stimulus reflex, and there's a pretty solid case for really high employability going forward.


I think concentrating on the language is a mistake. Once you can grok a few, perhaps at least one imperative and functional, you can learn any other in a matter of days. Sure, mastery takes much longer but in my experience most businesses hire for effectiveness to make change not be a guru of language X and Y.


People in the replies are confusing language popularity with developer demand.

Reminder: you don't need 10000 jobs. You need one. Aiming for a niche market rather than doing shotgun is a perfectly valid strategy.

Find what fits you.

(random example: if you care exclusively about income and employability, learn COBOL)


JavaScript/TypeScript, C#, Java, Python

Pick one (or more) you enjoy


This is probably it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: