Hacker News new | ask | show | jobs
by glogla 3725 days ago
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.

5 comments

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.

I'm exactly the same age as you.

You may very well be right about how people make career decisions. What you've described sounds closer to how this actually happens. Very few people sit down with a spreadsheet, estimating salaries, working conditions, job security, likelihood of various outcomes, factor in their own risk tolerance, and take whatever comes out as the decision. Many people don't even engage in a similar but less mechanical version of this. So yes, in that sense, I agree.

I do think you may be underestimating the extent to which the traditions you describe may be a distillation of what I described above, though, almost a kind of heuristic. A kids sees that his uncle is a member of profession X, lives in a nice house, enjoys his work, realizes it's a good match with his own personality, and is drawn to it. Parents are aware that certain fields are a path to the middle (perhaps upper) middle classes and nudge their own kids toward them (or rule with an iron fist and practically force them to).

This is why, as I said above, I am open to the concept of a shortage, that I don't dismiss it outright the way some economists do (where a shortage simply indicates disconnect between supply and demand - as with all things, supply rises and demand diminishes at higher salary/price levels until the market reaches equilibrium).

I do see human choices, including career choices, as more personal and cultural - I wouldn't call them irrational, which implies a notable lack of reason, but they are not the result of cut and dried reasoning. I am open to the possibility that these cultural and personal decision can leave young people - especially in situations where new valid professions have arrived within the span of a half generation - unaware of or uninterested in things that are actually very, very good options.

But like I said, I'm only open to this, I'm not willing to conclude that this is what is happening without looking at the data for a particular field. People may be overlooking a field that would be a very rational and wise career choice - or, alternatively, they may be rationally and wisely avoiding a field because far better options for people with their skill and academic mindset exist elsewhere.

My conclusion is that while it isn't wildly irrational to go into software development, the overall pay, working conditions, and job security ultimately do fall short of the kind of options available to people who are capable of going into it. We are a field where 44 year olds like us often (but by no means always) work in open offices with back visibility, experience issues with age discrimination, work in (corrupted) "agile" or "scrum" teams that prevent long term thinking or meaningful autonomy, and at the median in SF (ground zero for the "shortage") earn only roughly the same salary as a dental hygienist, and considerably less than a registered nurse. Sometimes our work is important, but often we are just migrating data from peoplesoft to oracle and back again, (marching UP and DOWN the squaaaaare![1]), or making the thingy look like the other thingy and work with this other thingy (please estimate the time it will take for our schedule tracking software and update your progress!). This may seem like an unfair characterization, and I would certainly agree that there are far more interesting jobs in software development out there, but some of the loudest voices insisting that there is a shortage of developers clearly are just looking for ways to pay people less to march up and down the square.

Every time I say this, it is important to me to point out that I have absolutely no objection whatsoever to nurses earning good salaries, or earning more at the median than software developers in San Francisco. They do an important and hard job, and I absolutely believe they earn those salaries. What I won't do is act like there's some mysterious cultural factor in why young people are not going into software development in the numbers that silicon valley employers would like them to.

This isn't about making it cool, or simply helping people realize the opportunities that are out there. There's some pretty deep structural change that needs to happen before people with choice in the US will consider software development a better option than the other paths available to free and full citizens who have the right to pick their own educational and career path in a labor market.

[1] monty python reference

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...
Discussion of the counterpoint (click through to original article): https://news.ycombinator.com/item?id=3672815 (I acknowledge this is a couple years older; it's from 2012).
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.
How does that help things? I can easily find you a licensed chiropractor who will "diagnose" your ailments by just pushing down on your outstretched arm while holding a supplement or homeopathic remedy in front of you to determine if that supplement will fix the problem or not. I won't even get into "subluxations".

And because that chiropractor is licensed by the State, the State government is explicitly endorsing this doctor's medicine and all the "theory" that backs it.

None of those people are MDs!
They're part of the same medical establishment, as far as laypeople are concerned, and they're licensed by the State exactly the same way MDs and DOs are, so they must be equivalent.
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.
Medicine is 4 years undergrad (in which an aggressive pre-med curriculum must be completed in order to be considered for admission to med school) + 4 years med school + 1 year residency (9 years), and if you're becoming a specialist, throw 3-5 more years in there for extra classroom time and an extended residency. Also bear in mind that this is just formal schooling; these totals don't include the time needed to prepare for specialized entrance exams like the MCAT. It's excessive.

As for law, most non-US jurisdictions allow attorneys to practice after 5 years of training and the receipt of a LLB degree, whereas the US typically requires the full 7 years and a JD. Just another way the ABA is protecting the American public.

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?).
Considering your setup, on what side do you think most software engineers would fall? The elites who have "made it" at Google and Facebook might be fine, but those factories employ tens of thousands of software engineers and programmers in addition to tens of thousands of skilled manufacturing workers. They both lose their jobs when those factories close.

Engineering (all engineering, not just software engineering) is somewhere between a trade and a profession; too skilled and intellectually rigorous for the former but lacking the status of the latter.

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.