Is learning a niche language a good strategy to get hired?
Posted by GebnaTorky@reddit | learnprogramming | View on Reddit | 12 comments
I'm thinking about learning something like Clojure or Elixir as opposed to learning Java or Python.
I know it might sound nonsensical at first but hear me out. Yes you'd be limiting yourself to a smaller subset of companies. But the hiring pool would also be small so it either evens out or you'd have a higher chance at being hired because all the {insert_niche_language_here} experts already have jobs.
What do you guys think?
eslforchinesespeaker@reddit
Are you an expert in something mainstream? If you’re a beginner, you don’t want to specialize in a side track or niche skill set, especially if you don’t have a specific lead. You want to have a firm grounding in the field generally. Specializing prematurely is a risky bet, unless you will be a genuine expert in a field with proven demand.
Pale_Height_1251@reddit
Learning niche can be a good idea, and often it's a bad idea to learn what 99% of other juniors are learning but make sure you can actually find jobs in what you're learning.
Say Clojure or Elixir, can you actually see jobs advertised in your area?
Absolice@reddit
If you are worrying about being hired then no, but not for the reason you think.
If you don't have the capability to get hired to the point where you are asking yourself that question, then it will contribute nothing for you.
The last thing a company who need an expert on a legacy language will do is to hire a junior dev who can't find a job so he spent the last month watching youtube tutorials on it.
humanguise@reddit
The Clojure and Elixir jobs are rare, but they are generally much better. The people that are drawn to these languages tend to be much smarter on average. You have to really plug yourself into the community to be able to reliably find work, as opportunities travel by word of mouth and referrals are a huge deal. It will take a while to build up these connections before they will yield anything.
Effective_Promise581@reddit
ColdFusion is a possibility. Its still being used in old legacy sites especially federal and state gov sites. Those orgs have a hard time finding experienced ColdFusion devs. The job would be mostly be maintenance and might not lead to a good career outside of those organizations. That being said Adobe seems to be committed as they are coming out with new versions about 3-5 years.
OskeyBug@reddit
We had a coldfusion guy coasting in maintenance mode for years. Eventually he had to learn .net to keep his job.
darthirule@reddit
Where do you want to work? If you are limiting your learning to what companies are hiring, find the area where your want to work and see what is in demand for that area.
my_peen_is_clean@reddit
niche stuff helped me stand out but only after i already knew the boring mainstream stack. i’d do java or python first, enough to ship basic projects. then add elixir or clojure on top. otherwise you’re locked out of most listings, which sucks with how bad it is finding a job now
GebnaTorky@reddit (OP)
Legendary username 🤍
somewhereAtC@reddit
Statistically, most shops don't use niche languages. If you know you are applying to a place that uses something, then sure, but basics like DSA and good practice will be more practical.
HealyUnit@reddit
Here's the issue with your thinking: to get to a stage where I'd hire a "niche language" guy, I'd need that guy to be an absolute expert in that language. It'd not be good enough that you're familiar, or even pretty good. If I'm going to change the entire architecture of my system to fit whatever niche language this is, I'm gonna need someone who knows that language on a senior dev level.
Because at the end of the day, all I as an employer/customer/whatever care about is that you can provide a software solution to my problem(s). Working with a cosmopolitan language like Java, JavaScript, etc. means I can hire a whole bunch of devs to collaborate on that problem and fix it faster. Hiring just one dude with expertise in one language means I constantly have to worry about whether I hired the right person, and worse, because so few people are (hypothetically) familiar with the language, a lot of time is going to be wasted making up novel solutions to common design issues.
JohnBrownsErection@reddit
If it's absolutely required for that language to be used. You might have an easier time learning a legacy language like COBOL or FORTRAN if that's your goal - reason being that just about anything you can do in one modern language can most likely be replicated in a variety of others, but legacy systems are kinda stuck in the language they use unless the firm running them wants to pay a bundle to modernize.
I know a bit of FORTRAN, enough to poke around a bit but not really enough to make a job out of it.