I don't ignore the alternatives, but I certainly don't have the time to dive into every language of the month so that I can add them to my tool belt "just in case".
And, of course, even if I had them in my tool belt, I don't know too many companies that will pay what I'm making as a .NET developer to work in a language I've picked up on the side.
If there's another way, I'd love to hear about it.
No, it's basically the same route I'm on I put more effort into sharpening my .Net skills than any other. But if I see something that another technology will do I try to integrate it just to get familiar (like Node for instance).
The ASP is trying to hard to integrate other stuff into it, and I think few people deep dive into .Net and Rails, node, etc combined but it's a definite strength to have some familiarity.
Your complaint is that you hear about too many opportunities in the "career-limiting" area of .NET development? No .NET developers are looking for work? Sounds like anyone wanting to be employed should get familiar with .NET.
Or do you just disagree with the job title having a language in it?
I'm not the author, just the submitter. But he pretty much nailed the situation in Portland right now. If you're a .Net developer and you're any good there is tons of work, for great pay. But there is a huge OSS startup scene running parallel in this city that probably better represents where the future of the industry will go eventually. If you bet all your chips on the .Net horse you may not like it later down the road.
I'm not going to work for any place that hires software developers based on which language they are most familiar with at this moment. As though a competent developer can't pick up a new language in a few weeks.
Well it isn't just the language that would be of interest, it's the APIs and the existing libraries that are domainspecific that takes time learning. I find it very reasonable for recruiters to look for people knowledgeable in the programming language(s) that their clients utilize in their production since those developers will most often be quicker in their job.
Sure, you can pick up C# in a few weeks, but there's no way to become a competent .Net developer in 3 weeks. It's not that it's difficult to learn, but there is so much to learn. In 3 weeks you may be able to drag and drop and autogenerate enough stuff but serious development would take much longer for someone with no experience.
The same could be said about Ruby, Python, Node, etc.
I believe the latter point is the one he's making, but from reading his letter I gathered the former. His cheeky remark on Node.js, etc. made it seem more plausible for me (until I read his last paragraph).
As a 'PHP Dev' who plays with a number of things outside of my job, I agree with the overall sentiment, but I'm not sure that he's getting the message he wants across.
Whatever message it is it doesn't make much sense to me. We know, companies know, and even recruiters know we can pick up other languages at the drop of a hat. The reason they state the language / flavor in the role title is so that it is clear to all involved, us as php devs can make an entirely informed decision not to take the conversation further in an absolute instant, as can recruiters when they see php developer on my linked in prpfile header. I used to get a heap of java job recruitment mail before I changed it. You know why? I used to do a bit of java dev back in the day and have a lot of endorsements in it. It wasn't clear to anyone what I was interested in or what I wanted to deal with.
Secondly its not career limiting at all I can call my recruiter tomorrow and have five java/.net/node/whatever dev interviews setup over the next week all I have to say is I'm looking to move into java again and am a bit bored of php. They dont care as long as you have skills in it and can prove it. The only slightly limiting thing may be they are worried about ramp up time of productivity which is only really going to be an issue if you're in a shaky negotiating position already ie they aren't 100% on you as a developer period.
Here in Chicago, .NET jobs pay less than other technologies. A RoR developer with 4 years of experience probably earns as much as a .NET dev with 8. If that .NET dev is lucky.
Most of the .NET job listings I get recruiter spammed with are for enterprise development things from companies whos primary "product" isn't technology. So if you work for them, you're working in a cost center and will be treated as such.
Edit: By the way, there's always been a shortage of .NET developers for as long as I can remember- even going back to '04 and '05 when the industry was starting to recover. But the salaries always trailed even then. You could make 5-10K more doing Java work in those days. No clue why.
Yup, exactly. That's another nuance of what I'm hitting at in the blog entry. This is the case in a lot of big cities with big corp gigs. They're just dead end gigs. If that's all somebody wants, that's awesome. Learn .NET or Java and get that shit. But if somebody wants a bit more or a bit of freedom or a bit of changing scenery, one has to step outside of that. :)
I market myself as a Microsoft stack technical architect in the UK. I'm equally as good with clang, python, Linux, postgres and redis as well. However the pay for that stuff is shit here and the utility of it isn't great. Most paying work is gluing things that already exist together and due to inevitable economic decisions and functionality sets, Microsoft is already in those places.
General logic in employment: pick a well paying niche and milk it.
.Net is a great platform if someone else is paying for it and you (usually as a function of the business) but if you're responsible for funding it, no banana - other stacks are more cost efficient.
If there's no .net market, it is usually that the area is technically immature (startups rather than large stable businesses).
As someone who has looked for Java positions in Chicago. Those seem to be shrinking. Everywhere I look is Ruby this ruby that. Also, there seem to be a fair bit of .NET positions available.
The big 2: Groupon and Grubhub use it. But not many other startups do.
[Author o' the blog entry] I just threw a bunch of the snarky response to a bunch of the arbitrary job definitions together, with some oddball nuance and wrote up the blog entry.
It's all a lot of tongue in cheek, some serious, mostly just me being ridiculous. There's no shortage of gigs right now any which way one looks at it. Somebody could get a job writing COBOL or RPG or Pascal if they really wanted to.
seems like this is a lack of supply, not a lack of demand.
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.
I guess what people are saying is that red velvet is so unfashionable they'd rather get a job in a factory working green leather day in, day out, than touch it.
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.
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.
JavaScript - more like a jacket with thousands of pockets. Some contain useful tools, usable by anyone with some experience of DIY.
Others, extremely dangerous tools, many with their safety features disabled, usable only by qualified builders.
There is no manual as to which is which.
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.
Meanwhile, the tailor down the road who decided to take a couple of weeks to learn how to work with red velvet, despite his personal preference for working with silk, has filled ten orders for red velvet jackets already this week, and has an order book with a couple of hundred more waiting to be filled.
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.
>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?)
He also seems to say, "I /can/ work with velvet, though preferably in conjunction with other materials, however I don't appreciate being referred to simply as a 'Velvet Tailor'."
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.
And people wonder why developers are not being treated like mature professionals...
This kind of juvenile "OMG, I wouldn't want to be seen dead in such off-brand sneakers" attitude belongs in a school playground.
Meanwhile there are probably many thousands of .NET devs making a good living in a nice job with a pleasant (albeit somewhat conventional) work environment and making enough money to take care of the things that really matter to them (family, kids). And they couldn't care less about being a cool Node.js or Ruby developer.
No, you won't run in the them that much. They hang out with the grown-ups.
And I am so disappointed to see that on the front page. I'm a young .NET developper. I will have to find a new job in a few months. I really like Node.js so I would like to find a job on it but I will never refuse a job just because it is .NET development.
First, it is a nice technology to work with even if it is linked to prioritary code.
Second, it is not the technology which makes a job interesting. It has more to do with the product, the company and the team.
Third, it might a good bet to work on a technology which is not the current cool kid on the block. .NET is used in a lot of places so we will have a lot of job offers with few developers. In this context you can manage to get a nice salary and you won't be treated like meat.
I agree with you we have a problem with this fashion of technologies. But like you said, and thanks to that, there are still a lot of developpers who do not fall on this trap.
It would be an interesting 'hack' to put up a set of LinkedIn profiles in, say, Seattle (where I live), each essentially the same but in the tech stacks listed: C#, Java, C++, Ruby, PHP, and Haskell. Then, track the recruiter spam as well as the kind of positions/salaries offered.
I think it would violate LinkedIn TOS to do this, as well as be kind of douchey to the well-intentioned and hopeful recruiters. So I won't. But still.... be interesting. :)
Its not like recruiters would avoid a reverse situation to get you on their books by saying there is high paying job looking for your skillset, when there is not.
There is nothing quite so laugh out loud hilarious as recruiter baiting on HN. Recruiters are easy targets, everyone thinks they suck and there's so many clever ways to point out their cluelessness.
Even now I'm chuckling to myself at how thigh-slappingly hilarious this is and how it points out that you are a smart developer and recruiters are foolish as fish.
Magnificent humour and not in the slightest dogmatic, pompous, superior or neckbeardish. The clever digs at Microsoft oriented developers have certainly shown you to be one step ahead of them in the cleverness stakes.
Well done sir! I wait with bated breath for the next clever and superior person on HN to show how much smarter they are than recruiters.
This is hilarious, but I hope we can get back to real HN submissions. I can't wait to see the next Something.js that does something jquery already does or check out a new something.io startup that has an API where you can access all your APIs.. in one place!
But really another NSA or Heartbleed article would be much better. Hey have you heard of Heartbleed yet?
> Maybe if said recruiters' clients or employers were willing to look past the US borders and into the realm of remote working, they wouldn't have half the problems they have right now. They would have an entire new set of problems, but not the ones they currently face.
I can't quite figure out if this is a genuine and reasonable reply, or if he's being a pedantic ass. ".NET developer? Oh no no no! I'm just a software developer who also knows .NET. Please resubmit your offer, replacing all instances of the phrase '.NET developer' with 'software developer'."
I do feel the authors pain as a recently liberated .NET developer. I can either remove a third of my experience from my linkedIn profile, or suffer a deluge of approaches from people trying to fill .NET roles.
That said, the article (and many of the comments here) are very US centric. In the UK, there are loads of .NET developers and even more .NET jobs. They often pay pretty well too.
Honest question, what do you think is wrong with .NET?
C# is my favorite language and I'm learning F# at the moment, which I think just as good (but very different). Microsoft have done a shitload to evolve the platform in the last decade as well.
Because it is cool to take the piss at .net developers around here! Most coming from young folks that have only been working on the 'next facebook' with go/node.js/rails to understand there is a big and very profitable world out there that runs on more mature stacks/languages.
But hey, doing CAD/Financial Modelling/Insurance/etc software isn't shiny and something to brag on the next hackathon for hacker cred right?
I've never seen a qualified response to this question.
.NET is by Microsoft. It's Windows based. It's been around for a long time. It didn't introduce any new paradigms, and I'm guessing isn't used by a single startup in California.
But it's fast, it's solid, and from my experience, there are more well paying, reliable opportunities in it than with any other language.
Honestly, I'd rather be spending my time learning Node or Ruby or heck even sharpening my PHP skills. But I enjoy .NET and would much rather work at the company I'm currently at, in a position I like with people I respect, than jump ship just for a non .NET opportunity.
We're a YC startup in California (Palo Alto) using .NET. We also use other more hip things, but .NET is the majority of our server side stack. We wanted something mature and solid that banks would use for a transaction system. Something that would let us hire great talent and not compete with all our startup buddies over RoR and node.js rockstars. Something that supported a nice mix of functional and imperative programming techniques. C#/.NET fits the bill pretty nicely.
I make a good living with C# and the entire .NET platform. There are plenty of jobs (KC area) and I regularly get recruiters contacting me with new opportunities. In my opinion there is nothing wrong with that.
>Even though I’m fairly well connected in Portland, Seattle, Vancouver (BC) and even San Francisco it is rare for me to meet someone who wants to do pure .NET Development. If there is I’ll connect them with you. However if you know a company that is porting away from .NET, building greenfield applications in Node.js, Ruby on Rails or other open source stacks I have a few software developers that might be interested.
You may consider yourself somewhat well connected in startup culture circles perhaps but even though that may be the noisiest and most visible, it is actually quite in the minority in actual numbers of software devs in our country. Enterprise (you know the companies that actually make our economy churn) like banks, retail chains, Intel, HP, ETC. corporate America, government, military. ETC) is where most of the .NET devs seem to be. Trust me, there are plenty of them, even in Portland. (hate to break it to you but you sound like kind of a big fish in a small pond)
Do you think that you know better than veteran recruiters how many .NET devs are in certain areas (some of which you don't even live in?). If .NET devs were that scarce in these areas as you seem to conclude, I really doubt that recruiters would even bother advertising for them. Also, if they were this scarce, corporations would be forced to pay exorbitant amounts of money for them or switch to another technology (simple logic tells us this).
This is almost akin to the disconnect of the hippie culture of the 60s. You had the hippies who knew their culture and circle of people, then you had the majority of (albeit less visible) Americans who were working 9-5 and raising families while keeping the country actually functioning. A lot of hippies didn't even realize that much existed outside of their limited perception (I speak from experience).
Your ignorance may be overlooked by many here on HN because many share the same culture and ignorance as you, but to the 9-5 serious family/career corporate generation - you look like a fool. Not just because of your blind ignorance, but also your petulance.
Do understand that we were simply asking for a developer who understands the .Net platform; and in no way labeling the developers - heck, it's what they call themselves!
We appreciate that there is a lot of FUD surrounding various languages but as we all know FUD is unfounded hatred and hence theoretical; where the conscious and deliberate action of excluding yourself from an entire market is a literal limiting action.
We are grateful to hear that your community of contacts have this trend in terms of development technologies; as most developer communities tend to. You should meet some of the COBOL folks I hooked up with work, they work once a month and drive Ferraris - such a pity COBOL is an evil enterprise language; it's not even cool like Javascript is!
I'm not an actual recruiter, was just roleplaying there; at my gig we don't really need recruiters - in fact we usually have problems with developers that they send our way (we have been forced to use them a few times to match our growth). Our best talent comes from word of mouth. I'm not sure they do a good job (for both the employer and employee) no matter what the language.
I can understand maybe being spammed from recruiters, but replying like this just brings you down to their level. It also makes software devs seem like jackasses. That would be the case if you were trashing Java or Python or any other language. I just don't really see the point of replying like this.
People may or may not have good reasons to dislike technologies. I'm sure people have their reasons for disliking .NET just like they do with Java or any other technology. From just a generic statement - its hard to know either way.
I actively dislike all current web app frameworks. The SaaS trend is worrying IMO because it seems to be the only viable way that startups can make money these days. I rarely see any startup selling an actual software product.
In my view, you take a rich client application - throw in memory bloat, CPU bloat, reduce the responsiveness, add in some downtime and you get a webapp. By the very fact that all web apps are limited by client apps (the browser in most cases), I don't see any reason to settle for a 'second-class' experience.
Short version "Real world, please care about our hipster frameworks that are using languages older than some enterprise ones. We don't want to use Xamarin to re-use maximum code while retaining native performance and languages that don't suck; we don't want to use Unity3d to be able to quickly prototype at low cost and hight quality. Please pigeon-hole Node.js in every freaking domain, because everything is an IO throughput problem plus you get to use a crappy language not just on client side but on server side as well!".
You know what, if they are looking for a developer that can hit the ground running with .NET and make some great stuff, I'm not that guy.
If they're looking to do some .NET projects and want some developers that are good to pick it up and try it. I'd do that.
How do you get into that situation? Is it even possible? I hear and see the opposites - companies with absolutely no interest in training, and companies that love training.
58 comments
[ 82.3 ms ] story [ 184 ms ] threadso brave!
I love me some .Net but you'd be silly to ignore the alternatives and many .Net devs do.
And, of course, even if I had them in my tool belt, I don't know too many companies that will pay what I'm making as a .NET developer to work in a language I've picked up on the side.
If there's another way, I'd love to hear about it.
The ASP is trying to hard to integrate other stuff into it, and I think few people deep dive into .Net and Rails, node, etc combined but it's a definite strength to have some familiarity.
Or do you just disagree with the job title having a language in it?
The same could be said about Ruby, Python, Node, etc.
As a 'PHP Dev' who plays with a number of things outside of my job, I agree with the overall sentiment, but I'm not sure that he's getting the message he wants across.
Secondly its not career limiting at all I can call my recruiter tomorrow and have five java/.net/node/whatever dev interviews setup over the next week all I have to say is I'm looking to move into java again and am a bit bored of php. They dont care as long as you have skills in it and can prove it. The only slightly limiting thing may be they are worried about ramp up time of productivity which is only really going to be an issue if you're in a shaky negotiating position already ie they aren't 100% on you as a developer period.
Here in Chicago, .NET jobs pay less than other technologies. A RoR developer with 4 years of experience probably earns as much as a .NET dev with 8. If that .NET dev is lucky.
Most of the .NET job listings I get recruiter spammed with are for enterprise development things from companies whos primary "product" isn't technology. So if you work for them, you're working in a cost center and will be treated as such.
Edit: By the way, there's always been a shortage of .NET developers for as long as I can remember- even going back to '04 and '05 when the industry was starting to recover. But the salaries always trailed even then. You could make 5-10K more doing Java work in those days. No clue why.
General logic in employment: pick a well paying niche and milk it.
.Net is a great platform if someone else is paying for it and you (usually as a function of the business) but if you're responsible for funding it, no banana - other stacks are more cost efficient.
If there's no .net market, it is usually that the area is technically immature (startups rather than large stable businesses).
The big 2: Groupon and Grubhub use it. But not many other startups do.
It's all a lot of tongue in cheek, some serious, mostly just me being ridiculous. There's no shortage of gigs right now any which way one looks at it. Somebody could get a job writing COBOL or RPG or Pascal if they really wanted to.
"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.
This kind of juvenile "OMG, I wouldn't want to be seen dead in such off-brand sneakers" attitude belongs in a school playground.
Meanwhile there are probably many thousands of .NET devs making a good living in a nice job with a pleasant (albeit somewhat conventional) work environment and making enough money to take care of the things that really matter to them (family, kids). And they couldn't care less about being a cool Node.js or Ruby developer.
No, you won't run in the them that much. They hang out with the grown-ups.
First, it is a nice technology to work with even if it is linked to prioritary code.
Second, it is not the technology which makes a job interesting. It has more to do with the product, the company and the team.
Third, it might a good bet to work on a technology which is not the current cool kid on the block. .NET is used in a lot of places so we will have a lot of job offers with few developers. In this context you can manage to get a nice salary and you won't be treated like meat.
I agree with you we have a problem with this fashion of technologies. But like you said, and thanks to that, there are still a lot of developpers who do not fall on this trap.
I think it would violate LinkedIn TOS to do this, as well as be kind of douchey to the well-intentioned and hopeful recruiters. So I won't. But still.... be interesting. :)
Even now I'm chuckling to myself at how thigh-slappingly hilarious this is and how it points out that you are a smart developer and recruiters are foolish as fish.
Magnificent humour and not in the slightest dogmatic, pompous, superior or neckbeardish. The clever digs at Microsoft oriented developers have certainly shown you to be one step ahead of them in the cleverness stakes.
Well done sir! I wait with bated breath for the next clever and superior person on HN to show how much smarter they are than recruiters.
But really another NSA or Heartbleed article would be much better. Hey have you heard of Heartbleed yet?
FTFY.
That said, the article (and many of the comments here) are very US centric. In the UK, there are loads of .NET developers and even more .NET jobs. They often pay pretty well too.
C# is my favorite language and I'm learning F# at the moment, which I think just as good (but very different). Microsoft have done a shitload to evolve the platform in the last decade as well.
So why all the sarcastic joking and hate?
But hey, doing CAD/Financial Modelling/Insurance/etc software isn't shiny and something to brag on the next hackathon for hacker cred right?
.NET is by Microsoft. It's Windows based. It's been around for a long time. It didn't introduce any new paradigms, and I'm guessing isn't used by a single startup in California.
But it's fast, it's solid, and from my experience, there are more well paying, reliable opportunities in it than with any other language.
Honestly, I'd rather be spending my time learning Node or Ruby or heck even sharpening my PHP skills. But I enjoy .NET and would much rather work at the company I'm currently at, in a position I like with people I respect, than jump ship just for a non .NET opportunity.
You may consider yourself somewhat well connected in startup culture circles perhaps but even though that may be the noisiest and most visible, it is actually quite in the minority in actual numbers of software devs in our country. Enterprise (you know the companies that actually make our economy churn) like banks, retail chains, Intel, HP, ETC. corporate America, government, military. ETC) is where most of the .NET devs seem to be. Trust me, there are plenty of them, even in Portland. (hate to break it to you but you sound like kind of a big fish in a small pond)
Do you think that you know better than veteran recruiters how many .NET devs are in certain areas (some of which you don't even live in?). If .NET devs were that scarce in these areas as you seem to conclude, I really doubt that recruiters would even bother advertising for them. Also, if they were this scarce, corporations would be forced to pay exorbitant amounts of money for them or switch to another technology (simple logic tells us this).
This is almost akin to the disconnect of the hippie culture of the 60s. You had the hippies who knew their culture and circle of people, then you had the majority of (albeit less visible) Americans who were working 9-5 and raising families while keeping the country actually functioning. A lot of hippies didn't even realize that much existed outside of their limited perception (I speak from experience).
Your ignorance may be overlooked by many here on HN because many share the same culture and ignorance as you, but to the 9-5 serious family/career corporate generation - you look like a fool. Not just because of your blind ignorance, but also your petulance.
Do understand that we were simply asking for a developer who understands the .Net platform; and in no way labeling the developers - heck, it's what they call themselves!
We appreciate that there is a lot of FUD surrounding various languages but as we all know FUD is unfounded hatred and hence theoretical; where the conscious and deliberate action of excluding yourself from an entire market is a literal limiting action.
We are grateful to hear that your community of contacts have this trend in terms of development technologies; as most developer communities tend to. You should meet some of the COBOL folks I hooked up with work, they work once a month and drive Ferraris - such a pity COBOL is an evil enterprise language; it's not even cool like Javascript is!
Yours, Scummy Corporate Recruiter 1
I was merely pointing out the irony in the post.
I can understand maybe being spammed from recruiters, but replying like this just brings you down to their level. It also makes software devs seem like jackasses. That would be the case if you were trashing Java or Python or any other language. I just don't really see the point of replying like this.
I actively dislike all current web app frameworks. The SaaS trend is worrying IMO because it seems to be the only viable way that startups can make money these days. I rarely see any startup selling an actual software product.
In my view, you take a rich client application - throw in memory bloat, CPU bloat, reduce the responsiveness, add in some downtime and you get a webapp. By the very fact that all web apps are limited by client apps (the browser in most cases), I don't see any reason to settle for a 'second-class' experience.
If they're looking to do some .NET projects and want some developers that are good to pick it up and try it. I'd do that.
How do you get into that situation? Is it even possible? I hear and see the opposites - companies with absolutely no interest in training, and companies that love training.