Considering various programming languages to learn in my field and I am wondering which would be a better path to take: learn a popular language that is widely used and there is high demand for, but there is also a lot of competition for (Java for example) OR learn a more niche language that fewer people know thereby increasing my unique skills, but which there is also less demand for (Python, for example)
Call agencies who hire programmers and ask them what languages they are looking for and which they never get calls for.
Learn a language widely used and then apply this to a lesser known language. Many languages have similarities and a good programmer can adapt quickly.
Now, if you really want a career, learn Java and figure out how to plug all their holes.
If you’re just starting out then it’s better to go for a more popular language. It will get you into the workplace quicker, and with a few years’ real-world programming experience it will be much easier to find and choose a job you really want.
Programming skills are pretty easily transferred between languages anyway. If you have a solid knowledge of programming fundamentals, but only know Java, then it will only take you a couple of weeks to learn Python. As long as you have a good understanding of the fundamentals of programming then most languages can be learnt in a short period of time.
Learn a “more” popular programming language.
=
A lesser known language would narrow your job choice, but you would have to be flexible [industry, geography, …] in your search.