Hacker News new | ask | show | jobs
by TrickedOut 3725 days ago
I really detest when software engineer salaries are compared to the salaries of the general population (often to cite how our sector is "overpaid"). Usually lacking from such simple comparisons: 1. Discussion of how software engineers have to go to college for 4 to 6+ years, but the general population is weighted towards those far fewer years of schooling 2. Discussion of downtime -- the amount of time software engneers spend unemployed (due to economic cycle, startup bankruptcy, downsizing, etc.) compared to the general population (e.g., government workers for example have superb job security, often 100% lifetime job security.)
9 comments

A lot of software engineers are autodidacts and never graduated in IT. I didn't (I have an MA in politics, obviously irrelevant to my profession). In general unemployment in IT is very low, and there's always a shortage of programmers, so job security is clearly above average. (And government administrations have IT departments, too).

It's supply vs. demand, that's all there is to it. I'm not buying any of the above as a justification for big salaries.

>It's supply vs. demand, that's all there is to it.

Yup. There may be good demand because of force multiplier or return to capital or whatever. (Which are just ways of saying that the work translates into something people are willing to pay for.) And there may be (somewhat) limited supply because it's not something everyone wants to or can do, whether through formal education or otherwise.

But, take either supply or demand away and the salaries commanded adjust accordingly.

That I could spend 10 years becoming an expert on medieval German literature doesn't necessarily mean that I could command a high salary however rare that expertise.

While there is a segment of autodidacts, it's not like people can become expert software developers overnight.

Software developers work longer hours. I've never been in an environment where developers hang their coats up at 5:00 and go on with their carefree lives.

And while unemployment may be low in IT, developers do not enjoy job security.

> While there is a segment of autodidacts, it's not like people can become expert software developers overnight.

Agreed. Plus, learning in this trade is a job never done. It's not like once you get a foot in the door (and land a job), you're set for life.

> Software developers work longer hours.

I can't speak for the US, but it doesn't seem to be the case in Europe. I live and work in Poland, I kind of know the job market in the UK and Germany.

> And while unemployment may be low in IT, developers do not enjoy job security.

Well, relative job security. Not neccessarily in terms of any single job being safe and granted, but there's a rather slim chance of getting stranded between jobs.

> I've never been in an environment where developers hang their coats up at 5:00 and go on with their carefree lives.

And I've always worked in environments where they do.

Anecdata for the win?

Same here. I've always worked more or less 8 hour days with occasional exceptions for emergencies and crunch time to hit a deadline.
+1 In London worked from 10 to 6 and went home. Canada 9 to 6 with 1hour of lunch (unpaid) Brazil same as Canada.
Longer hours than who?
The general populace.
Yeah -- "force multiplier," and talk of how programmers can obsolete other jobs, is at least partly an argument that programmers 'deserve' their salaries, because they make society permanently more efficient.

That discussion feels imprecise, though. Are those really the reasons that programmer salaries are what they are? If there were 20x more programmers, would that change things?

Worse, it makes me want to avoid that whole side of the discussion, because it also sounds like justifying an economic fact on moral grounds.

Yes, supply and demand and perverse economic incentives sometimes result in high demand for things that aren't that beneficial to society as a whole. Personally, I happen to think that what programmers do is more beneficial to society than what Hedge Fund managers do. But I don't care to have a conversation about whether or not we 'deserve our rates.'

It's what supply and demand dictates; that much is definitely true.

Why do such salaries need justification other than people are willing to pay them
Because these conversations drive increased immigration quotas and increase of supply to "correct" the overly high salaries.
>> there's always a shortage of programmers

Wow, people really have forgotten the IT-death. :-)

There are cycles and bubbles here too. They just might not be in phase with the general economy.

(And get off my lawn. :-) )

Yeah, well, "always" is an overstatement. Of course there are ups and downs. But it's a matter of proportions - this profession still has it easy. I can't recall a headline informing about massive layoffs of software devs :)
> downtime -- the amount of time software engneers spend unemployed (due to economic cycle, startup bankruptcy, downsizing, etc.)

funny but from my circle of friends I never heard of anyone being unemployed and looking for job for more than a month. I myself had exactly 0 time of looking for a job in 12 years of working. I'm in Europe, though, we're ridiculously underpaid compared to the US I think. Very few people earn more than 100K.

Off topic, but I must: comparing salaries alone makes no sense. In Europe, you don't have to pay $250K/child for college education, you don't have to pay $20K/year/family in health insurance, etc.
Well you need to consider purchasing power parity. In many European countries, these things are paid out of taxes (but also provided at a lower cost in total), so you can't just deduct/ignore them.
We pay taxes in the US as well :-) Maybe a bit less than in Europe, but we get very little in return (no subsidized daycare, no 30 days of vacation, etc). US tax revenue is mostly spent on maintaining all the 170+ military bases around the world, aircraft carriers, nuclear weapons, etc.
60% of federal budget is social security, unemployment, medicare, and health spending. 16% is military. I think the bigger problem is that money spent in healthcare doesn't go nearly as far as it does elsewhere due to bloated healthcare costs.
True, but healthcare and unemployment, etc., as wasteful as they are, still improve my quality of life, while paying for defending rich countries like Japan or Germany, does not.
What do you think is the relation between vacation days and taxes?
OK, you got me there - typed too fast. But, aside form taxes, if I wanted to take more time off, it only makes sense I should expect less pay, right?
12 years of working means you just missed the dot-com crash of 2000-2002.
True, it also means he's too young to face age discrimination.
I think the problem is further compounded by the fact that "software engineer" is woefully vague. Are we talking a highly educated Machine Learning specialist working at at top tier institution, or are we talking about the CRUD dev working for the local bank; or perhaps we're comparing generic IT that barely codes at all? The former might be underpaid, the latter maybe over paid, but they're all going to reported as "software engineer" and it really muddies the waters..
Exactly... a "Software Engineer" in my experience can run the gamut from someone with a CS PhD to someone with an Associate Degree to someone who is self-taught. Sometimes pay is correlated with education, sometimes with experience, sometimes both and I have seen cases where neither is really a factor as a company is just looking for a warm body to fill a dev role.

Add to this the glut of contract positions in industry along with the wide range of pay there, and it becomes much harder to make an accurate assumption (at least for me in my head) of what software engineers should be making.

Googling "Software Engineer Payscale: brings up pages listing, 73, 78, 83, and 92 thousand per year. And I am leaving those roles with sub-titles like senior and principal off the list. That said, this is a cool idea and undertaking, especially the country comparisons.

Does it make any sense to you to compare a particular group to the general population then? I think it does, the insights you may draw from such a comparisons are obviously different than comparing two sub-groups, e.g. programmers vs. doctors for example.

Also the article doesn't judge the differences of incomes, the "overpaid" is your interpretation.

Exactly. Software salaries should be compared to doctors', lawyers' and other professions', as software engineering is a profession.

I bet you the comparisons would not look so good then.

I'll accept that software engineering is a profession when software engineers accept the same level of responsibility for their work that doctors and lawyers do.

When that happens, brace yourself for a never ending stream of malpractice suits.

There are lawsuits filed for delivering shoddy work, unmet deadlines/commitments. They are just less publicized, because human life is (usually) not at stake.
Those are contract lawsuits.

Are there any jurisdictions where a Software Engineer can lose their license?

It's essentially impossible for a lawyer to lose their license.
But they can. They can also have their license suspended.

Software Engineer on the other hand, is just a label that doesn't mean anything. AFAIK, no jurisdictions license Software Engineers. Unlike law, there's no punishment for working as a software engineer (although there are some jurisdictions where the title "Engineer" is regulated).

Did you check the article, though? In quite many European countries the median software engineer earns less than the average salary.

I wonder if they meant "median salary" instead, as median vs. median would seem a better comparison than median vs. average.

It's about supply and demand. (not exclusively but still)

How could it be enforced that software developers can only earn the median income of the general population?

Passing new laws that set a limit? That would be completely crazy, you might as well just go and live in North Korea if you like that.

Why shouldn't private companies have the right and the freedom to pay more out of their own pocket (not from government funds) for certain employees?

Also, software engineers are concentrated in high-CoL areas, which skews things.
Software engineers are like doctors or lawyers - long period of study on difficult (and in places where people pay for colleges expensive) schools, long hours, but good pay. So it makes sense to compare them with doctors and lawyers.

Unlike doctors and lawyers, software engineers don't have any respect and are pretty much working class, but that's another story.

Not really. SW engineers are more like the better paid regular engineer.

Hired for a specific, technical purpose. Expected to (usually) have gone to college.

No offense, but equating a comp sci degree (even with years of work experience) to a medical doctor is a little laughable. Doctors (as a field) are a step up from software engineers in terms of professionalism and work expectations.

Disagree. Status is attributed based on "How useful are you or can you be to me?". A doctor and lawyer could be very useful to me personally, selfishly. A software engineer tends to be very useful to capital (institutions, etc.) but not as useful to an individual personally. Facebook engineers have a lot of status - because people use Facebook personally all the time. A great engineer who programs stop lights, manufacturing PLCs, business application, etc. not so much. No selfish benefit = No love.
I don't think that's right. A plumber or home health aide is pretty useful too.
I think it depends on the circles you travel in - those are the professions the most practical/dependable people from my area went into, so from my perspective they do get status to a certain degree, at least from my friends. There will always be the illusory gap between blue vs. white collar workers.
Yes, but why should that be the case, is the question. I read an article I think was linked here arguing exactly the opposite -- that the less real utility a profession provided the higher the pay and the higher the esteem.
Doctors and lawyers require outside certification and extensive post-graduate education just to enter the industry. Comparing them to software engineers is not a useful comparison.
Doctors and lawyers have created their own barriers to entry via the AMA and Bar Association. Honestly, I don't think I've ever met a decent software engineer that wouldn't have the intelligence to make it through either medical or law school, should they apply themself. OTOH, I've met numerous doctors and lawyers that would never be able to handle the typical high-level math and CS courses a decent undergrad requires.

I've said this before: there are a lot of 20-something developers on HN that continue to push back against organizing as they're making decent money and in high demand (for the moment), compared to their friends in other professions. The problem is that once a software engineer hits his/her thirties, those professional friends have caught up in salary. We'll still be working in open-office environments with free soda, while they'll have real offices, expense accounts, salaries based on profits, and most importantly, respect.

By late 30's, we've hit the glass ceiling, but doctors, law partners, finance and business pros are just getting started. There are exceptions (e.g. the lucky start-up guys, consultants that own their own shop, etc.), but for the most part, this is reality.

The lack of any sort of organization for our 'profession' is one of the main reasons I'm beginning to look for a new career path. The H1B is a disaster - I actually worked in India for one of the big abusers, and realize that without something, things will get worse, especially since we've probably maxed out this latest bubble.

It's not useful to try and debate that one field is more difficult than others. All three fields employ a mix of people with varying intellect. It's also not useful to make silly claims that every decent engineer you know had the intellect to complete medical/law school, or that numerous doctors/lawyers couldn't handle math/CS courses. Unless you're giving aptitude tests to your lawyers and doctors, which I assume you aren't. These claims are highly speculative and sound petty.

Your other comments are more worthy of further thought.

I don't understand why you feel software professionals aren't given respect. Nearly every "Best job" survey on the internet will list it #1 or 2, with several other technical jobs in the top 10. That doesn't necessarily equal respect, but the industry is certainly getting tons of attention and many are trying to enter through any means possible. I'm not sure how we can measure respect or disrespect, but I don't see it.

I know plenty of engineers that are making a good living with plenty of work/life balance that are well beyond 40. I'm sure there are some that aren't as well, but engineers that are mindful of marketability can have a long run in the industry.

I agree that it isn't useful to compare fields. Unfortunately, we have to. There is currently a huge amount of debate about whether there is a "shortage" of software developers. This implies some kind of market failure, that US citizens and permanent residents are not responding to the market signals that should be drawing more people into the field.

If we're going to have a meaningful discussion about this, then we more or less have to start to make these comparisons. Are people who have the freedom to chose their careers in the US behaving irrationally by choosing, law, medicine, finance, actuarial work, nursing, dental hygiene, and so forth over software development? A lot of people are surprised to hear that out in San Francisco (check BLS stats), the median salary for a software developer is roughly equivalent to a dental hygienist, notably less than for a registered nurse, and of course far less than the median for a doctor or lawyer. I don't object to higher salaries in these fields at all, but looking at the data, I'd say that any "shortage" is pretty easily explained as a rational response to pay, career security, working conditions, and the opportunity to do meaningful work that helps others.

I don't see how you can answer this question without comparing the fields.

As you can probably tell, I'm skeptical of almost all claims of a "shortage", regardless of industry. I don't dismiss it as a market impossibility the way some people do - I do believe that cultural and educational problems can lead to "shortages", but I do think we need to be very, very careful about analyzing it.

Software is a tough one to analyze, because anyone can call themselves a programmer (or even an engineer, most places) after reading a book on php (or not reading it and just saying they did). But yeah, I do think that someone with the analytical and logical reasoning ability to program, the reading comprehension to wade through dense technical material, and the persistence to keep at it until he or she can actually write, adapt, and maintain a code base… yes, I do think that person is almost certainly capable of handling the academic work at the median level in more or less every profession.

>looking at the data, I'd say that any "shortage" is pretty easily explained as a rational response to pay, career security, working conditions, and the opportunity to do meaningful work that helps others.

I've said this before, but I think that any "shortage" has much more to do with traditional career paths considered by high school and college students as learned from their families and upbringing.

Just look at the careers you chose - law, medicine, finance. How many times did children of my generation (Gen X - I'm 44) hear "be a doctor" or "be a lawyer", or banker/nurse/dentist? Countless times.

I never remember being told "be a computer programmer!" in my entire life, and I personally had much more exposure to computers than most in my generation probably did in the 70s/80s due to my proximity to a leading university with several professors living on my block.

I don't think decisions to join other fields over technology have anything to do with rational responses to pay/security or working conditions, but are just steeped in traditions. My grandparents didn't know "computer programming" was something people could do for a living. My parents probably never considered it as a career for me until I was already out of college.

My generation may be the first generation of parents to identify software dev as a legitimate and realistic career path.

Developers can retire by late 30's if the wages right now keep up with inflation. Using conservative Google compensation:

22 yrs: L3, $160k total comp

25 yrs: L4, $210k total comp

27 yrs: L5, $260k total comp

32 yrs: L6, $320k total comp

39 yrs: L6, $320k total comp

Averages:

22-25: $180k avg

25-27: $230k avg

27-32: $280k avg

32-39: $320k avg

3 * 180 + 2 * 230 + 5 * 280 + 7 * 320 = 4.64 mil

4.64 mil * 0.6 (taxes/FICA) = 2.784 mil

2.784 mil - ($30k living costs/yr) * 17 yrs = 2.274 mil

Enough to retire if you don't have a kid

Wow, that is incredible short-sightedness. I saw comparisons like this back in 1999, before the industry fell apart. Before a generation of companies went under. Before stocks fall and render the total comp just cash comp. before you get pushed aside due to age discrimination. Also, one health-related event will wipe out a quarter of that nest-egg. You cant really retire...
Not having a kid is a pretty harsh requirement.
Not to mention, you can easily retire on a third of that if you're willing to move to Asia or Eastern Europe.
Only because they have powerful professional gilds like the AMA and bar associations to establish entry barriers to the industry.

And that's exactly what software professionals should do as well - have a strong professional body to represent us.

> Unlike doctors and lawyers, software engineers don't have any respect and are pretty much working class, but that's another story

I see this kind of Rodney Dangerfield sentiment a lot on HN but it has never made a lick of sense to me (especially the "pretty much working class" variety).

And also if software engineers want to get into the "doctors and lawyers" category we need to start doing doctory and lawyery things like "professional societies with teeth" and "board/bar certifications" and "codes of ethics" (good luck on that last one).

>if software engineers want to get into the "doctors and lawyers" category we need to start doing doctory and lawyery things like "professional societies with teeth" and "board/bar certifications" and "codes of ethics" (good luck on that last one).

Not sure why you're down-voted. You're 100% right. Honestly, I really am flabbergasted by a good 50%-75% of the HN community's responses to organizing. This is probably the most intellectual group of people I participate with on the internet.

But the cognitive dissonance when it comes to 'free-market', unions, etc. for our profession is almost sad.

That 50-75% will come around when they stop getting job offers due mainly to a dearth of pileous vigor--also known as "poor cultural fit" or "hiring discrimination"--rather than insufficient experience with technology X.

Honestly, though, if the torches and pitchforks didn't come out after the news broke about the non-poaching agreement between the CEOs of the major tech companies, I doubt they ever will.

The need for a worker cartel is directly proportional to the relative power a typical employer has over a typical employee. If the only way you can improve your work situation is by changing jobs, you could benefit from a union.

The things you mention -- gatekeepers with teeth -- are a nightmare. They have eviscerated the medical and legal professions to the point of self-parody. They exist to keep otherwise qualified people out explicitly because they want to keep their wages high.
That's uncharitable. They exist to keep quacks away - both professions are extremely sensitive and prone to fakery.
There is no need for onerous restrictions they place on admittance. It used to be that you became a lawyer by apprenticing in a lawyer's office and reading the text of the law. That's how lawyers came up for generations until the post-secondary boom in the 1950s. Now, that time-tested method is illegal in all but a small handful of states due to ABA guidelines.

Of course, the superficial justification is that if you don't go to school for 8 years and pay $150k+ into the education industry before you can get a crack at real work, then it's because you're a fraud who wants to fleece the general populous. There is obviously going to be a surface justification. However, many lawyers are still primarily interested in fleecing people, and the artifical barriers to entrance probably only serve to further incentivize it; that's a big chunk of debt hanging over one guy's head.

Suppose he wanted to undercut his competition and offer meaningful legal services that a normal person could actually afford; oops, he needs to bill $200/hr because after overhead, 65% of that goes to his student loan payments. :|

However, I'm sure that the ABA and AMA do not function at all like unions and are run by truly beautiful people with stunningly pure hearts who would never put their own self-interest above the general welfare. I am sure the strength of their character fully precludes any attempt to keep competition low and/or to make the minimum viable price point of the profession artificially high. Such a thing would serve only to enrich them and their compatriots while blanket disqualifying large chunks of people that would otherwise make great lawyers and/or doctors, and of course, the people in charge would never even fathom something like that.

In the modern day the gatekeeping is starting to fail and there's "a metric shitload" of underworked lawyers out there due to the law school glut and wages are collapsing: http://www.lawyersgunsmoneyblog.com/2015/05/the-collapsing-e...
They exist to keep their own wages artificially high. Honestly, I think half my freshman Chem. I lecture of 500 students was pre-med. Only about 1/20 of them ended up in medical school, due to the artificial limits imposed by the AMA. We have a huge lack of doctors in the US due to the boomer generation getting older, but the medical school enrollment has not increased.

In fact, the AMA was originally founded to keep mid-wives from taking a cut of their most lucrative child-birthing business. They are one of the biggest lobbying organizations in the country after the military industrial complex. Along with the Bar Association, Teachers and Police Unions, and financial organizations, the AMA proudly proclaims that their goal is to enforce 'quality' standards for the good of the public. Don't fall for the spin.

We software engineers currently lack the social intelligence to realize how bad we're getting screwed, which is ironic considering the technical prowess we've collectively got.

>They exist to keep quacks away

No, actually they don't. Chiropractors are still practicing, and in huge numbers, and probably gaining in popularity, and they don't just do chiropractic these days, they also do homeopathy, "supplements", and various other bogus remedies. "Naturopathic" doctors are also a big thing. There's no shortage of quackery in the medical field.

They were forced by govt to do that, after a century of resisting.
Chiropractors still need to be licensed.
None of those people are MDs!
I don't want some yutz who came out of a ten week medical bootcamp doing rude things to my corpus.
What about someone who had informally studied physiology and medicine consistently since he was 5, followed the literature religiously, and had always advised people on ailments (in ways that consistently matched or even corrected what doctors did), and was able to give lengthy extemporaneous talks about medical problems and the pros and cons of treating them different ways? And the bootcamp was just plugging him into understanding of professional clinical practices and connecting him to clinics with credibility?

(That's roughly where I was before going to a programming bootcamp, mapped over to the medical world.)

There is a middle ground between 10 weeks of training and 10 years of training plus hundreds of thousands in debt. The AMA and ABA are out of control.
Law is only 7 years training and the first 4 are in any field you choose. And there are opportunities for paid semipro internships every summer.
Are you aware that medical schools are largely pass/fail with a 95%+ graduation rate? Makes it hard for me to have any confidence in the credential whatsoever.

In comparison, over 20% of my freshman CS class flunked out before 3rd year and there were still plenty of subpar students that made it to the finish line.

Organic chemistry weeds out a lot of premeds before they even get to medical school. Also medical school is not the end of it. Lot of people fail out of residency. And residency is a lot more brutal. You don't get to keep making mistakes. And then the medical boards do take away lot of medical licenses for all kinds of stuff based on complaints by patients, pharmacists, others.
"Working class" is a stretch, but the UK category of "technical middle class" is more accurate. The crucial thing that software engineers tend to be short on, relative to their economic status, is "cultural capital". Effectively this is a way of saying that they are technically-minded rather than seeing themselves as traditional intellectuals, and I've found that to be generally true, as a CS graduate myself.
Software engineers are not "working class." Where did you get that idea?
Depends on the country. The average software engineer wage in the UK (about 56,000 a year), France (about the same) or Greece (25,000 a year) is probably rather solidly in the middle class, and at the lower end of it at that.

A software engineer/developer/programmer/whatever is paid about the same as your average office employee in much of Europe.

I think the grandparent is playing a little loose with terms. By "working class", I believe they mean both: have to exchange their labour for money, and low social class (less respect from peers, say at a dinner party).

Though obviously some software engineers "cash out" and then don't _need_ to work anymore, and many doctors would quickly run out of money if they stopped working.

OK, they're wage earners, then, not working-class. I don't know that their social status is really that low though.
it has risen significantly in the last 5 years because of the pervasiveness of technology, but before that, it was rather low.
Keep in mind that there's lots of different definitions of classes.

Software reasonably fits in as a white collar job, which is working class.

In general it's probably more interesting to discuss the various things people use to differentiate roles than it is to argue about what words should be used to describe the roles.

> Software reasonably fits in as a white collar job, which is working class.

That's a rather eccentric understanding of "working-class," which typically refers to blue collar workers.

I agree that "working class" has typically, in the US at least, referred to blue collar workers.

OTOH, as more and more blue collar type jobs are being obsoleted by machines, I think we're coming up upon a more modern definition of working class: those who do not derive profits from their actual value-add.

For example, most other 'professional' type jobs - finance, law, medicine, etc. - typically have a well defined career path where you're used and abused when young, but typically get to share in the profits once you make partner or senior level.

OTOH, most engineers will max out at about $100K-$160K based on location, and will never share in any profits or income. Realize that Google and Facebook are not typical when you consider the millions of engineers working in mostly typical cost-based positions for insurance companies, banks, and other non SV companies.

Obviously, $150K is much better than the other 'service' workers making half that, but we're moving closer and closer to becoming a 'working-class' type profession instead of one that's respected /w regard to both pay and societal treatment.

There's a big gulf between wage earners and everyone else, but, as I said to the other guy, the professional class and manual laborers don't have identical interests (for instance, which group is more likely to support a free-trade agreement that will cause US factories to shutter but drive down the prices of consumer goods?).
It's not that eccentric. For instance, Marx didn't look just at what the job involved but at the terms of employment. In his terms, programmers making some of the highest salaries are still working class because they are paid a wage by a corporation. A plumber operating a business by would be middle class in the same system (they are working for themselves).

There are ways in which those distinctions are much more interesting than wage levels (which tend to dominate "class" discussion in the US).

Well, Marx has more nuanced categories than just wage earners and capitalists. The professional class doesn't have class interests that are identical to those of manual laborers.
From the number of women interested in dating him, that's where. Women go gaga to date a doctor, but they're about as interested in a software engineer as they are a plumber.
I feel like there are some confounding factors here beyond just the work itself
I'm not debating the work and how it compares to other professions, or even how the pay compares, I'm just pointing out what I perceive to be society's perception of the prestige of the profession. Here in America, software does not have a lot of prestige, not compared to doctors and lawyers.

Lawyers don't even make that much money, and a lot of them drop out and change professions; we have a glut of lawyers. The ones at the top make a lot, but your rank-and-file ones don't, they probably do worse than your average software engineer. But it doesn't matter: society holds them and doctors in far higher esteem than engineers or programmers of any kind. It's a product of America's anti-intellectual tradition.

Now of course, there is a big factor of relativity involved: if a woman is a waitress or secretary or cashier, for instance, she'll probably be very interested in dating an engineer or programmer (doubly so if she's a single mom struggling to raise some kids). But if she's a lawyer or doctor or she has the traits necessary to attract a doctor, she won't be. If she's an engineer herself, she probably would be interested, but since she's such a minority in her field she'll also have her pick of male engineers and won't be single long.

I mean that I don't see as great a number of lawyers and doctors having little interest in their personal appearance and constantly referencing science fiction and fantasy, which I think explains it as well as any supposed lack of social status for software engineering as a profession.

Besides that, I don't see how you can really justify calling medicine or law "less intellectual" than engineering or programming.

That's not true at all. Engineers with basic hygiene and fitness are snapped up like doctors. Don't compare 23 yr old engineers with doctors who, after school and training, are already 30 and in their high innome jobs.