Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That's silly, physicians, mechanics, lawyers, and many other skilled tradesmen are just like programmers. The problem is that many folks see programmers as somehow different than these folks.


I read a great article in the Harvard Business Review about what defines a profession. Their question: are managers a profession akin to Doctors and Lawyers?

The author defined a professional as someone whose work you have to take on faith. Not being doctors or lawyers ourselves, we're usually unable to evaluate the quality of legal advice or medical care we're receiving. The best we can do is seek another opinion.

The author drew this line because he feels it necessitates the things we expect from a profession: shared ethics and a rigorous certification process. Professions require would-be professionals to jump through a number of hoops to make sure that all who deal with these professionals receive some minimum level of service from someone with a minimum level of competence.

Have software developers arrived at this point? Can someone check the quality of what they receive from a developer without being a developer? If they can't, will this always be true?


Your comment peaked my interest to read the HBR article you mentioned. Thanks. http://hbr.org/2010/07/the-big-idea-no-management-is-not-a-p...


No, it piqued your interest.


Is there a name for that phenomenon, where people hear terms in use but map them to the wrong words? Or the opposite, where people learn words through reading but mispronounce them?


Linguists call them real-word errors. They're very common in writing and spell checkers do nothing to protect against them.

I work on a free browser extension called After the Deadline. It picks a lot of this stuff up. It didn't pick up this particular example, next time I deploy an update to our service it will.

You may want to check it out, it works here on HN too: http://www.afterthedeadline.com

(as a note, I tend to make the same types of errors)


Actually I suspect that spelling checkers have made them more common. I know I see them a lot more often on the Web, and have been seeing them increasingly frequently over the last few years.


There are a few mild forms of dyxleia that cover thoses symptoms. For example, I cannot "sound out" words. I have to hear them before I say them. Makes for some funny times, thank god I have a great memory, or I'd look stupid all the time


I submitted a Wikipedia article on this very subject :-)

http://news.ycombinator.com/item?id=1477763

Apologies in advance for engaging in the clichéd 'submit a Wikipedia page' pattern!


malapropism


or "eggcorn", if the substituted term makes some kind of sense in context.


Malapropism.


Thanks for core wrecking my miss take :p


Using the internet it's possible to verify a doctor's job(assuming access to medical charts and lab results).

I think the thing that separates licensed professions from unlicensed ones , is usually issues of safety,i.e. when the price of an error is just too expensive.

So truck drivers(which is a pretty easy to verify job - are goods delivered ? ) are licensed, and have a conduct code("sleep every X hours" , speed limits ) , and computer maintenance technicians aren't, even thought it's more complex to verify their job(are updates installed ? is the computer secure ? ).


> Can someone check the quality of what they receive from a developer without being a developer?

That's the QA team right there. And the ones I work with are very good at it!


Doctors, dentists, and lawyers have legislated their jobs so that they can maintain monopoly through their guilds and licenses. That's why they can charge such a high rate. If programmers can get non-licensed programmers writing code go to jail, their rate would go up, too.


I am incredibly happy that this will never happen in software development. Elitist, protectionist mechanisms like this would dramatically limit the talent pool, slow down innovation, and restrict thinking to a set of norms agreed upon by a conservative organization intending to maintain the status quo. Programming is more of a meritocracy than in many other fields, and I think we should be proud of this. If people want to earn more then they should practice and learn more. Certifications are codifying yesterdays knowledge. How valuable do you think that is to most organizations, as opposed to keeping up with the latest research or the latest developments in open source? And I don't mean reading the headlines, I mean understanding data structures, algorithms, and architectures. Certificates do things like quiz people on how well they know an API. This is absurd, wasteful, and degrading. These training programs attempt to generate assembly line programmers, but it's like trying to learn history by memorizing dates of past events.


> I am incredibly happy that this will never happen in software development.

Oh I don't know, the idea of programmers being better paid has a certain attraction to me :-)

On a more serious note, the way that lawyers and doctors (and some other tradesmen in some jurisdictions) have managed to illegalise competition is wrong and needs to be stopped. Vets can perform operations for a tenth the cost doctors can -- is this because vets are less competent? On the whole, no.


I don't think that the competition is illegal. I thought that if you are a private practitioner of either you could just set your prices lower. The fact no-one does maybe implies that either there is a shortage of these people or that they really just do it for the money neither of which are true. I'm pretty sure the entrance criteria do not also include "you must charge X for this service". But I think we see similar pricing weirdness with mobile phone plans - way over priced but here in a free market (at least in the UK) we don't see prices that are really that good for what we get.

I'm pretty sure that salary dose play an important part of people wanting to get into these professions so while you have bright people doing them it is not always what they would be best at. So there is a bottle neck when applying for higher education and I think the problem is when you are 18 you have no idea what will make you happy when you actually graduate. By that point your pretty well financially committed to the profession and thereafter you'll be saying t least the money is good.

Also while I don't like monopolies how you break them is important and hard to do.


> I don't think that the competition is illegal.

Yes it is. The whole point is that certain professions have got politicians to pass laws making it illegal for people without the right piece of paper to compete with them.

As Adam Smith said: "People of the same trade seldom meet together, even for merriment and diversion, but the conversation ends in a conspiracy against the public..."


You just described 2 of the ways that the competition is being limited by law and politics: 1. Controlling the number of doctors graduating per year. 2. Making medical training very long and expensive(even when it's not needed - for example when nurses can replace doctors) so that doctors would inevitably charge higher rates in the future.

Since medicine historically was distributed and built by community doctors , the classic competition limiting strategy of using big monopolies didn't fit here.

So the medical profession uses many different strategies for limiting "distributed" competition.


> Elitist, protectionist mechanisms like this

In fairness to lawyers and doctors, they serve needs that have a larger societal impact thus the need to to have more stringent process of instilling the right training and enforcing ethics.

Programmers are perceived to be be neutral in this regard.

People understand this concept as it applied to lawyers and doctors. Most folks frown on ambulance-chasers and boob-jobs plastic surgeons.


Would it really tho'?

I mean, PE (or CEng in the UK) is an "elitist, protectionist mechanism" but it hasn't hurt innovation in aviation or civil engineering, has it?


Very possibly it has - there is no way to know the answer to this kind of what-if, because you either have one or you have the other, you can't let the two alternatives compete with each other over the same time scale and then measure the outcomes. Very similar to the question of whether software patents help or hurt software innovation. There has been innovation in engineering with the PE system in place, and there has been innovation in software with the patent system in place, but there is no way to know if there would have been more or less over the same time period without those controls.


[deleted]


Here's this little secret how the dentist association controls the number of dentists licensed each year - they raise and lower the difficulty of the licensing exams each year. Guess who wrote the exams? The existing dentists, who have incentive to restrict the number of new dentists. They can raise the difficulty with frivolous questions that don't impact the dental competency but weed out a number of qualified candidates.

Same thing with doctors and lawyers.


I think the fact that a group controls its membership qualifications is not really a problem as long as other groups can compete with them to address the same needs. And without special treatment from the government. A level playing field, not subsidies for one model at the expense of other models.

Realtors control their numbers and qualifications too. But you can still be a real estate agent without being a Realtor. Having and protecting a brand is ok. Getting government to put some group in charge of all people addressing a need will raise prices.


We should not seek to emulate doctors or lawyers, but cabinetmakers, watchmakers and joiners.

Programming isn't a profession, it's a craft. The trouble is that traditional crafts are not really valued any more, as their purpose has largely been supplanted by mass production. So, we have no current role models for how to organise ourselves.


Programming is not a craft. A craftsman produces some product, whereas a programmer designs some product that is then produced by a compiler or by copying a file. That the production of software is trivial and fully automated, doesn't mean that there is no distinction between production and design.

We already have mass software production.


Overall, I strongly agree. I agree so strongly, I've been thinking about counter-examples, and I think I've found a few corner cases. ;)

Firstly, obviously, some aspects of programming are crafts-like. When we write conditionals as if(4 == x) instead of if(x==4) (for languages where variable assignment in a conditional is legal but not what you want), that's craftsmanship. Analogously, part of the process of designing a building is drafting, and that is a craft. A common error is to think that drafting is the primary task of architecture (at least, that's a common error about programming).

Less confidently, I would argue that the closer you get to the metal, the more craft aspects appear (without claiming that these aspects dominate), and that when we use a compiler, part of what we're getting is automated crafting. So we see three cases where we take back that crafting aspect into human hands...

First, for a new platform, sometimes some of the work is done by hand.

Second, many programmers _enjoy_ the craft of programming, and so practice it for fun. For example, code golf is craft.

Third, sometimes crafted is more appropriate. We usually prefer a cheap mass-manufactured physical object (high-quality, but not customized), but sometimes we want something handmade for the situation. I think that writing assembly by hand has some parallels with this (not to argue that writing assembler is more craft than design).


So you want programming profession to follow a model which leads to devaluation and replacement by mass production? Think programming is there already.

Outsorucing, Java schools churning out schlubs, seem like mass production analogs to me.


Hmmm, seems like the appropriate role model to take from this may be "mass production". Perhaps that is the right and proper end game for any craft. But I tend to think that computers can't take all our jobs in this society, because once computers are fully capable of programming themselves our society will cease to exist in its present form.


The way I see it, it's both - more like surgery in that regard. How you do it involves a huge amount of craftsmanship. Knowing what to do and why you're doing it is what makes it a profession.


But lawyers don't normally work in a management hierarchy, do they? And I'm pretty sure hospital administrators hate physicians just as much as managers hate programmers. (Not all of them do, of course, but I'm guessing it's similar.)


Doctors and lawyers are typically self-employed, or they're employed at institutions that require (often by law) that managers actually have to be doctors or lawyers. So you're correct, they are like programmers, but a solution has been reached already for the problem I describe. I'm not sure skilled tradesman (not to denigrate their work) have the same "productivity is determined by intelligence" issue.


Agree. And all the replies to this post about the specifics of medicine or law seem to me to be missing the point. There are fields other than programming where "workers" have more domain-specific knowledge than "managers". Mikemainguy was responding to the perceived assertion that programming is the only occupation where this is true. He is offering counterexamples to the statement that "programming is really the first discipline where the primary determinant of the "factor's" productivity is not the manager's skill but actually the intelligence of each individual"


Docs, mechanics, skilled tradesmen, lawyers,...hell even accountants have location knowledge and expertise that is location specific.

- You won't drive your car cross country to a cheaper mechanic. - You won't get a lawyer from India to represent you in America. - You don't go to a doctor... well thats changing isn't it? Too bad doc education still costs so damn much in America.

Its about group supply and demand. Don't forget that homes cost and arm and a leg and that a programmer in a particular neighborhood should be able to afford a home in that neighborhood and should charge accordingly.


Programming, especially high-paid programming, tends to be highly domain-specific. Whether oil pipelines, financial models, or various control algorithms for aeronautics, you can't just hop jobs.

I think most programmers, and even non-programmers, don't really understand how much domain specialization affects their value. To me, this is "localized knowledge" just as much as any mechanic, accountant, or lawyer has.


Isn't it even worse? None of those professions have access to copy and paste!

We all know programmers who would be sunk without it.


hmmm ... organ transplants? I suppose that's cut-and-paste though.


Good lawyers use copy and paste all the time. ;-)


Bad ones too, that's how the first draft of our employment contract had a non-compete clause prohibiting staff from working in the child-care industry.

(We do hardware/embedded software)


Amen!


Doctors and lawyers can't engage in their profession since the age of 10 or so, like programmers can. Doctors generally cannot be self-taught like programmers (what practice surgery on a neighbor?). Programmers can literally envision things in their minds, and then make them come to life after putting hands on keyboard -- there's no effective equivalent in medicine and law. (Biology/biochem/chem, sure.) Also doctors and lawyers have to be accredited by a government board at least at the state level, programmers do not. Doctors and lawyers generally have to spend (or go into debt for) 10's to 100's of thousands of US dollars before being officially allowed to practice in their field -- programmers do not. And in general, the cost of mistakes in programming are small, with no lives or fortunes at stake (in the general case.), unlike law and medicine. Lastly, from what I can tell, in the US the average programmer will make anywhere from 1/2 to more likely 1/10 what a lawyer or doctor will make in their respective careers.

There are many differences between the professions of programming, medicine and law. So it's hard to make sweeping generalizations and use that to draw definitive conclusions.

Programming is very different.


The only difference is in the protectionism of the other professions. Most of the barriers you mention are imaginary. Programming errors can have far worse consequences than medicine or law. I've never seen a doctor or lawyer make a rocket ship turn into the ground (Arian V) or oil pipelines explode (buggy versions of pipeline software stolen by Russia) or make airplanes refuse to execute commands ( airbus and apache FCS). They also can't destroy trillions of dollars of wealth (black- sholes and other flawed risk models, high frequency trading)


The examples you gave are edge cases and exceptions -- relatively very rare situations. Most programming work is hum-drum, with errors being no big deal, and easily and cheaply caught and caught early. I was comparing cases "in the main" between these 3 professions. Also, by pointing out the cases that you did, you actually increased the strength of the point I was making: these 3 professions are very different and one cannot reliably draw conclusions based on similarities.

Agree programming has less barriers to entry. But the barriers to entry for doctors and lawyers are not imaginary. They're real. Are they arbitrary and "made up" via government rules? Of course, and perhaps that's what you meant. But they are real. If you willfully ignore or bypass them you will suffer real consequences to your person including fines and imprisonment.


What are you talking about? When you roll a new version of a high volume web app if it has bugs that don't get caught in certain scripts then you can literally cost people hundreds of thousands of dollars before it is fixed.

eg. A trading platform, an advertising platform, etc.

This is not that rare.


Disagree, I think that's rare across the whole spectrum of programming work that's done. The vast majority of websites have perhaps 100's of users at most. The majority of software written has anywhere from 1 user to 10's, sometimes 100's, and more rarely thousands to millions. For every hedge fund trading platform I bet there are 1000's of Bubba's blogs and Joe's file-munging Perl scripts. The latter is the general case, not the former.

Almost every doctor or pharmacist you deal with on a daily basis can say something or do something that, if mistaken, can end up getting you dead or seriously sick -- or at least fail to prevent you from becoming so. A dead website can be fixed and brought back to life. Dead humans cannot. Well, for now anyway! :)


I disagree. Medicine is not that powerful. Doctors don't have that big power over people's lives. And the ones that do have are mostly edge cases, like it is in programming. Most of the doctors just move you around the "system". I can tell you this because I am a doctor myself. And gave up medicine in favor of programming. Medicine is a beauroucratic closed society, that is not willing to accept new members. They have the power and connections to make their profession seem "elite" and "important" and "dangerous". And they impose expensive university education (which is mostly unneeded in order to "do the job"), government regulations and all kinds of other hindrances in order to hide that their profession is just like the rest. From my experience so far, programming is much more difficult (unlike medicine, you need to think all the time), changes much faster, and changes are far more radical. In medicine you don't pick a new speciality every few months/years (like we do with languages). In medicine patients don't get released with new versions (incompatible with former ones), every other month. Doctors' tools (pharmaceuticals) don't change with the speed our tools (libraries, frameworks) change. You don't have to pick different "styles" and "philosophies".

I guess you will now ask me "why the hell did you choose programming then"? Yeah, I could earn more money with less work, with less thinking. But it would be much less enjoyable. And I guess this is the reason why programmers get paid less. We love our job. And we are willing to do it just for the sake of doing (and a little money for living).


Okay, I've just graduated as a vet and I had a bit of a crisis where I was worried: 1) That medical professions remain in their elite positions by using inaccessible language and a closed community 2) That there was a limited range of tools where much clinical work is just remembering someone else's solution to a particular disease and involved little in the way of problem solving and as a consequence something that I thought would be a mentally stimulating career just wasn't. I don't think I would have got into programming had some parts not been fairly dull.

So i finished the course and am looking forward to going into practice. As far as having a closed and (seemingly) elite community goes thats actually not such a big problem. Textbooks are available to anyone. The closed society should just be considered as a quality control. It is possible to get hold of any of the equipment required for medical practice but when you go to a doctor (a member of a profession) you are seeing an individual who has their competence vouched for and is subjective to professional discipline should their service be found to be lacking. I think it is difficult to justify the rates doctors get paid but self regulating professions do at least have quality assurance.

I also agree that there is a lot of university education in terms of what is learnt didactically is unnecessary for most of the day to day job but this totally misses the paint. Even though pharmaceutical tools may be fairly limited our understanding of pathology and epidemiology is continuously expanding fairly rapidly and what it teaches you is to educate yourself rapidly as this information emerges (and particularly in veterinary medicine collate this information sensibly when the information you want is not directly addressed in the literature - something that can only be done with a thorough understanding of physiology, immunology etc). Secondly since this discussion seems to be focusing on edge cases a lot we should not forget emerging diseases since these cannot be properly addressed by someone that is limited to the day to day 'do the job skills'. An excellent example of this is the diagnosis of blue-tongue virus when it first arrived in England.

As for wanting to be in a profession where you have to think all the time, I think it is possible but I think you need some kind of developer spirit. To do this you need to try and get yourself to some kind of cutting edge. This is easier to find with programming because it is a much newer skill set (and with veterinary medicine as compared to human medicine). To this end if you consider specialising and doing clinical research or doing something that involves policy making, or practicing somewhere where resources are fairly limited then I think you can have an intellectually rewarding career. Any career can be as interesting as you make it. If you find yourself bored because you are having to treat the same thing over and over again either change your specialty in medicine (pick a different "style" or "philosophy" [you may see the problems the patient has differently and take a different approach in addressing them]) or go and try address the root cause of the problem. You miss also that what is interesting in programming is that problems that you are faced with also seem to be changing rapidly as do areas of new development. I'm sure new tools would eventually get boring if the problems became static.

I think you're spot on about picking a career that you enjoy. I you've shown as well how important it is to consider where your at regularly and make an effort to keep what yo do interesting. The implication that all programmers love their job is as easy to disprove as other professionals not loving theirs. Providing you have some control on the development of your own skills I think any job can be satisfying. Don't use this love as an excuse for poor pay. Price yourself to show how much your are worth.


I didn't say that I'm not happy with what I get paid. And it wasn't an excuse at all. Just the opposite. I wanted to show why the people saying that "medicine is paid fairly compared to programming" are wrong.

I wanted to debunk the myth saying that medicine is the holy grail of professions. It is not. It's overrated, over-regulated and over-idolized. It's quite like the music industry. And it has to change, but changing it will be much more difficult than changing music industry.


and I don't think everything a doctor or lawyer does is then thoroughly tested.

And if you fail to meet the high barriers to entry for doctors and lawyers, the likelihood that you'll make disastrous errors is pretty high.


For a very long time indeed in America, the majority of medicine was practiced at community clinics by nursing staff. A doctor was consulted only when necessary.

The vast majority of medicine could easily be done by the intelligent layman. Like programming.


The clinic I go to has a staff with two doctors and several nurse practitioners (nurses with special training who are authorized to do some doctor-like things like make diagnoses and prescriptions for low-risk conditions). When I see an NP I am grateful for their presence, as my doctor probably has enough shit to do and can't be bothered by my mild to moderate medical questions.

The proliferation of nurse practitioners and physician assistance may provide something of a release valve to counteract the elitism, scarcity, and costs associated with doctors at least until there is reform within the medical profession itself.


Is it? Or is it something we just believe? Doctors used to think that having paramedics would result in disaster.

I think the vast majority of times one needs to use the services of a doctor could be handled by someone with far less training and certification.


The industry is moving in that direction as well. Nurse practitioners are now the common entry point into the medical system, with doctors reserved for follow-up. Even LPNs are being phased out in favor of medical assistants.


Also non-doctors have a much higher usage rate for expert systems and data entry systems. and their work patterns are usually highly formalized and verified by expert docs.

So in practice , non-doctors might be able to offer better medical treatment , than you average doc.


And if you DO meet the high barriers for entry, the likelihood that you'll make disastrous errors is pretty high. The statistics vary wildly depending on sources, but it is quite possible that iatrogenic and nosocomial diseases cause more deaths per year than auto accidents.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: