"No, but it's funny," said the manager, "you're the 100th person to ask me that - but I keep telling you people, there's simply no demand for them!"
"No, but it's funny," said the manager, "you're the 100th person to ask me that - but I keep telling you people, there's simply no demand for them!"
It would be more like walking into the tailor and asking for a red velvet jacket, and the tailor responding "Wow, you are the tenth customer today asking me for a red velvet jacket. But, I don't make red velvet jackets, because I don't have the skills to work with velvet. In fact, I don't know of any local reputable tailors that are skilled with velvet who are not already under contract."
"Besides that, I'm an expert, and I think velvet is an inferior materiel. I am quite skilled with silk, and I could make you an excellent silk jacket. Silk is far more stylish and functional than velvet, anyhow."
"I know another very skilled leather-worker I could refer you to if you would like a jacket made of leather, but if you want velvet? I just can't help you"
Fundamentally, I think "I don't like working with technology X" is a fundamentally reasonable position to take. People have preferences. Sometimes people are willing to take less money in order to meet those preferences. "I don't have experience working with technology X" I think is an even more reasonable position to take.
Aside: If programming languages were coloured jackets?
C - black leather, with studs.
C++ - black leather, with studs, on the inside.
Perl - there seem to be fourteen armholes. And seven zips. It's light blue, but in some places the paint is flaking and many other colours show through. Oh, and there is no head hole. Its wearers insist it gets things done just fine and is very flexible. Everyone looks at them weirdly.
Java - a hospital gown. The bare minimum to cover you, mostly designed around the convenience of others. You can buy a factory to make them, but the customisations don't seem to make any difference.
Python - A comfortable denim jacket of average size. It is straightforward to put on. Most people say it fits them perfectly, although a few people say it chafes.
Ruby - every time you move this jacket, it changes slightly. Putting your arms into the sleeves causes new sleeves that would fit better to appear underneath the existing ones. If you tap it, you inexplicable end up with two jackets.
Haskell - a large tartan straitjacket. When you try to put it on, you find yourself in a new jacket, and the original jacket is still in the wardrobe. The jackets are connected by an unbreakable thread of modal. When you take it off, you find yourself looking at yourself still wearing the jacket. You are connected to your other self by a thread of modal. Allegedly you can do anything without errors whilst wearing a Haskell jacket; you suspect the wearers are simply crazy.
Go - A tweed blazer with leather arm patches. It can be split into multiple gackets, which can be worn by multiple people. When wearing your gacket, you can communicate with anyone in another of your gackets, but only one of you can move at once.
C# - part of a family of colourful jackets. The fit well, and are suitable for all formal occasions. However, they are not available outside the USA. Knock-offs are available in the rest of the world, but only in shades of grey.
Fortran - a powered exo-skeleton. It is old, slightly rusty, uncomfortable, unfashionable, and the wrong choice for almost all occasions. However, whilst wearing it you can run as fast as Usain Bolt.
Javascript - a quite ugly mustard yellow suit jacket. It almost looks like its been cut out of something else, a sofa possibly. If you put your hand in a pocket without declaring your intention to do so first, you find other people's stuff in your pocket, and your stuff gone. They are unreasonably popular due to a historical quirk in the law that requires you to wear one of these jackets when visiting a stranger's house.
Lisp - a bolt of woven yak wool, dyed saffron.
Clojure - a bolt of woven yak wool, dyed saffron. It also comes with some smaller pieces of wool dyed different colours, and a direct phone line to a hospital. If you read enough tutorials online, you can assemble a comfortable and useful jacket, although you often have to copy the jacket before you can modify it.
(many edits as I'm on a roll :-) )
Smalltalk - the most perfectly made jacket in the entire world but when you put it on, all your other clothes disappear.
Javascript - A jacket with legholes where the armhole should be, but you wear it because everyone else is wearing one.
Visual Basic - A jacket made out of bits of old carpet.
Haskell - A highly technically advanced jacket made out of nano particles that configure themselves to the wearer, but nobody wears them as the instruction manual is written in Sanskrit.
I disagree with your Perl jacket... a Modern Perl jacket would come with a magic incantation that when said over the jacket, it turns it into a bad-ass leather jacket that comes with a free Harley Davidson.
CoffeeScript - A T-shirt and tie combo. You started with the intention to look smart, but got distracted by all the other cool looks you could potentially carry.
> CoffeeScript Also both are bright pink, because why wouldn't you come up with your own syntax sugar when you have such an option?
Recruiter: "Seeking a resource to with 10+ years experience making Red Velvet Jackets"
Tailor: "I've been making Black Velvet Jackets for 10+ years. How can I help you?"
Recruiter: "Do you know anyone who does Red who might be interested? Thanks!"
It's totally reasonable to refuse to work with technology X in favour of working with technology Y, despite the lack of demand for Y. But you can't simultaneously moan about how unfair the world is when you make that choice and then can't find as much work using Y. You knew what the situation was ahead of time.
This is the fundamental difference between being a worker selling hours and a company producing a product. I care a lot more about how much I get paid when I work than how many of my hours I can sell. From my perspective? it is far better to be employed 50% of the time at $100/hr than 100% of the time at $50/hr. Hell, I'd rather be employed 20% of the time at $100/hr than 100% of the time at $50/hr. I can use those other hours to work on setting up my company so that it can sell more products with less labor. Or read a book or go on vacation or something. Optimizing for getting more work is for people at the very beginning of their career, or for people who can't earn a high enough hourly wage to cover the essentials on less than full-time work.
The thing is, demand does not equal pay; there are more jobs managing windows computers than there are managing Linux computers, but generally speaking? the latter pays better, in part because you usually have more servers per admin in a linux environment. Personally, I vastly prefer a high-pay, low-demand job where I might spend some time unemployed over the opposite.
(that said, I don't know what .net dev pay looks like compared to node.js pay. If they can't fill the positions, perhaps it's not high enough?)
Titles are tools, often used in ignorance. "[D]on’t limit our future careers by mislabeling us," OP writes. An employer's failure to titularly identify the meaningful distinction between "Problem Solver whose tool of choice is code" and ".NET Developer" has long-term ramifications for the potential employee, both inside and outside of that company's office.
The conceptual failure to distinguish between these things is common among non-technical people, including the first-round resume screeners for many companies.