how many programming languages should i know !

Opinion: 1

You should be proficient in at least one language.

There is no set number of languages that you should know. Learn programming languages as the need arises. Don’t learn them for the sake of learning. You’d be wasting your time and energy.

If you need to write web apps, consider PHP, Java, Python, Ruby.

If you need to write mobile apps, consider Java/Kotlin and Swift.

If you need to write video games, consider C++ and C#.

If you need to write programs for data science and machine learning, consider Python and R.

If you need to write IoT apps, consider C, Python, and Java.

And so on. Only learn what you need.

Opinion: 2

Learn to program, taking a project from a vague idea to a working, shippable, polished product. Pick up languages as you need them or when they seem interesting.

When you’re just starting out, you’re only going to be familiar with one or two languages, but over time, you might work on a project as a C# person, but the user interface was written in VB.NET, talks to a Java back-end on a server, somewhere (maybe another back-end somewhere else in COBOL), with a database scripted with some variant of SQL, and your program also generates reports using HTML, CSS, and JavaScript. And then there are the build scripts, the installer packages, the administration work, the mobile apps. It’s just something you deal with, and it’s not that hard when you have a handle on the fundamental issues.

It’s worth noting, though, that there are essentially three kinds of employers.

  • The best employers hire people who get things done, regardless of language, knowing that a decent programmer with experience can usually pick up a new language in a week or two.
  • The worst employers will only hire you if the majority of your resume is whatever language they’re using for the project.
  • In between, as long as you have some experience in a language they use and you can talk about projects you’ve shipped, that’s close enough.


What this generally means is that you probably want to know whatever languages people are hiring for in your area, maybe fewer if a language is generally used by the sorts of companies you don’t want to deal with. For example, by me, there’s a ton of Java jobs, but they’re almost all enterprise maintenance jobs with long hours and mediocre pay, so I mysteriously don’t talk about my Java experience…

But to get back to the actual question, there really is no typical programmer, here. I’ve known programmers who have only programmed in one language for their entire career (C if they’re older than forty, Java if they’re younger, generally), and there are people like me who like trying new languages out to see if there’s anything usable buried, and so are comfortable diving in with maybe a dozen and can get back up to speed on many others.

I’ve said it elsewhere, but the language is the least of your problems on most jobs.

Post a Comment