I’m recently getting into programming and was surprised by the insane number of languages out there. I was wondering if there were one or two that are looked at by the majority of employers or is it more of a preference thing? I am currently leaning more towards software engineering or something related
I appreciate the reply. I updated my question to be more specific but I was looking more at software engineering or something similar. I am still in the intro stages of searching but that’s what I’m currently leaning to
All programming is software engineering to one degree or another. What software do you want to engineer? Websites? Data processing systems? CAD applications? Embedded systems? Operating systems?
Each has their own set of language(s) and most employers in that field will want to hire people with that language. For example, if you want to do CAD, employers will likely want C# skills. If you want to do embedded systems, then employees will want C skills. If you build data processing systems, it’s likely you’ll need some Python skills. etc
In the few discussions I’ve had, I’ve suggested learning a few languages, and preferably from different paradigms. My reason for saying that is that I got my job because the employer was looking more for aptitude than for specific skill. (And he ended up asking me to do stuff in Assembler, Ada, Fortran, and Perl among others.)
I described it to one young lad, who was coming from a labouring background, as follows: if you turn up at a building site knowing only how to use a shovel, you won’t get a job. If you turn up knowing how to use a wide variety of tools you’re more likely to get a job. The fact that you know more than one tool demonstrates your willingness to learn and your active pursuit of skills.
You know the old proverb: to the one who only has a hammer, everything starts to look like a nail. So the one who only knows [insert language name here] only knows how to solve problems from that angle. The one who knows more than one language can approach the problem from a vareity of angles.
Fill your mental toolbox with tools. Be good at some. Be very good at others. Be exceptional with one or two. Be flexible and adaptable.
It is very common for beginning programmers to want to «get better at language X first» before they are willing to start on language Y. This is a trap. It’ll get you to focus on a single language for way too long.
Perhaps counterintuitively, learning languages other than X will make you more competent at X itself.
This effect is weak when the other languages are very similar to X. So aim for languages that are markedly different. Hence, different paradigms. Presumably you’ll be learning some imperative language for work, so throw in a Haskell / Lisp and a Forth as well.
Sometimes employers also ‘look’ for languages that they aren’t planning to actually use. Haskell for example looks great on your resume, but you are unlikely to encounter it at work.