8 ms·
Meanwhile, it's taken for granted that not everyone can be a doctor, dentist, or lawyer. You don't see doctors telling people that anyone can "learn to med," bu
by throwaway856 10y ago
Meanwhile, it's taken for granted that not everyone can be a doctor, dentist, or lawyer. You don't see doctors telling people that anyone can "learn to med," but programmers see nothing wrong with devaluing their profession in the eyes of the masses by telling them that anyone can learn to do what they do, or worse, that it's easy, and that we shouldn't assume anything else until its proven otherwise.
Programmers are far too egalitarian for our own good and our increasing marginalization and stagnant wages are the inevitable consequences.
- contravariant 10y agoI think saying 'everyone can program' is not the same as 'everyone can be a programmer'. Similar to how saying 'everyone can (learn to) take care of their teeth' is not the same as 'everyone can be a dentist'.
- JoBrad 10y agoAnyone can learn when they have a cold, and what to do about it. In the same way, anyone can learn to write a simple program. Not everyone has the dedication and skill to become a great MD, and the same applies to being a programmer.
- geebee 10y agoI agree. The confounding factor (I'm stating the obvious, I know) here is that it's hard to determine what makes a "programmer", whereas there is a very clear set of criteria for what makes a lawyer or doctor. Although it's always tough to compare fields, I do think that some ways of measuring the skill set and educational requirements for a software developer do place it in one of the most rigorous fields out there. Majoring in computer science at a reputable university (I don't mean an elite one, I just mean one that requires the standard curriculum) typically requires two years science and engineering track calculus (not the easier one year, slower paced track available to econ or bio majors at some universities). Physics is often a requirement, as is an additional year of upper division mathematics (differential equations, calculus based probability), along with some classes that intersect with mathematics had have a heavy computing component, such as numerical analysis which generally involves computational methods to solve mathematical problems that aren't amenable to closed form solutions, or mathematical algorithms that require so many iterations that they aren't practical to solve by hand, optimization, graph theory. Then you add in compilers, operating systems, and other demanding electives. And keep in mind, CS or other Math/Physics/Eng students typically must take a far more substantial general curriculum in humanities than humanities students must take in quantitive fields. We don't get out of writing papers the way they get out of difficult math. People often point out that a field like law requires a three year grad degree, but honestly, in many ways, I think is is like comparing people who run at a 8 minute mile pace for 70 minutes vs people who run at a 6 minute mile pace for 40 minutes. You can't just compare the time spent, you have to compare the rigor of that time. Attrition rates for computer science are typically high even in elite schools, including at the graduate level (elite law schools, by contrast, often have attrition rates below one half of one percent, and many of the students come from fields like history or poly sci - nothing wrong with those fields, they are interesting, but they really don't have anywhere near the same attrition rates as CS or related majors). And if you do get a grad degree, then I'd say you've honestly gone through something much more difficult if you did it in Math/CS/Eng/PhysicalScience. Of course, you don't have to strictly major in CS or a related field to be a programmer, but consider what it takes to get through the google interviews. Try out some of the medium to difficult questions from "cracking the coding interview", and think about the poise, communication skill, analytical ability, and coding ability it takes to do a good job on these question sin 45 minutes at a white board (as an unsuccessful google interviewee myself, I assure you you are expected to make substantial progress on these problems, and medium to difficult is surely fair game!) You could get to this through self-study or formal education, but either way, it most definitely is not a low barrier to entry. Ok, not everyone works at google, and many of us work on crud apps. However, I have yet to see the mythical "simple crud app" that people refer to when they talk about how most programmers don't have hard jobs. These apps usually don't have deep algorithmic complexity, but they are hard to work with. You often inherit a difficult and poorly documented code base that you need to follow through, logically, with a fine toothed comb. You often have to get up to speed with a new framework, or an older one that uses deprecated methods during an era of substantial churn. You need to tease out often elaborate business logic and calculation pipelines from analysts or other non-technical workers that they have trouble communicating to you. And you often have to do this under intense pressure to provide estimates and meet deadlines, often from people who work in much more predictable fields and see your hesitance to commit as a sign of unreliability or a lack of professionalism. These, in my experience, are the "easy" crud projects. Honestly, I think researching and applying a novel machine learning algorithm to a data set can be a lot easier in many ways. That turned into a rant, but in short: this is a really hard job (and JoBrad, I hope it's clear to you that none of this is in disagreement to what you wrote, more riffing on the theme here…). Programming it isn't easy at all. I do think the reason that there is an alleged "shortage" is largely due to the fact that people who can handle this kind of work (it requires a huge about of logical reasoning, quantitative reasoning, consulting and working with vague requirements and end users, and presentation skills under pressure) have a lot of options out there. The market is actually working, pay and working conditions need to improve quite a bit to draw people away form those other things they're doing and into programming in the numbers silicon valley employers would like to see. And it won't happen overnight, ramp up time takes a while, this will be (if it happens) a pretty painful transition that will force the tech industry to dig pretty deep.
- braythwayt 10y agoYou are misinterpreting what the paper said and what I am saying in order to oil the axe you are grinding. First, one can dispute “programming ability is distributed in two humps” without implying that “everyone can program.” Second, your proposition isn’t even a consistent proposition. If programming talent really is rare, then being egalitarian won’t have any effect on wages: Some people can, some cannot, and the free market will quickly sort out that you cannot build pyramids with thousands of unskilled programmers. If wages are stagnant, one possible explanation is that more people can program than you would care to admit. Which explains why you are ranting about spreading the myth that programming ability makes you a special, delicate flower. If you can socially engineer people into not becoming programmers, you believe there will be more money for you. What you fail to realize is that as an industry, “a rising tide lifts all boats.” The more talented people there are, the larger the pie we get to share. More programmers equals more software, equals more tools, equals more companies, equals more hardware, equals more demand for software, and so it goes until software has finished eating the world and it becomes a mature, stagnant industry. If you feel your wages are not rising as quickly as you like, perhaps you should look into other possible causes, such as a lack of skill in negotiation, or choosing to be an employee instead of an entrepreneur, or wage-fixing by companies with no-hire policies, or the practice of handing out paper stock options in lieu of cash for startup employees.
- MustardTiger 10y ago>First, one can dispute “programming ability is distributed in two humps” without implying that “everyone can program.” Yes, but people are disputing “programming ability is distributed in two humps” despite there being clear evidence of that being the case, and no evidence to contradict it. The distribution has not changed, or been retracted. Only the unsupported notion that the distribution is innate and unchangable.
- braythwayt 10y agoI am not responsible for explaining to you what "people" are saying, whether they are right or wrong. Please cite this "clear evidence" you speak of.
- vectorpush 10y ago> Programmers are far too egalitarian for our own good The guild that is infamous for exalting the "leet", nurturing cliques, and projecting disdain towards n00bs, laypeople and "idiots" is too egalitarian? > our increasing marginalization and stagnant wages are the inevitable consequences. IMO, our increasing marginalization and stagnant wages are the consequences of programming being not that hard (as far as the general demands of the industry). Programming is not exceptional or arcane, it's just new and with tooling and pl advancements making it easier and easier to meet industry demands, it's only natural that wages will stagnate.
- stonemetal 10y ago> it's taken for granted that not everyone can be a doctor, dentist, or lawyer. I am pretty sure everyone could be a lawyer if they wanted to be. The couple of lawyers I have talked to about it say that it is all about hard work not smarts or any special skill.
- Godel_unicode 10y agoI think that's an answer which has fallen victim to the spotlight problem. They've forgotten what it's like to not be a lawyer and thus think "anyone can do this". I often feel similarly about machine-learning, until I try to explain it to someone who has no background in the subject and realize all the things they don't know.
- juliendorra 10y agoThere are litterally dozens of millions of doctors. In France we even have to artificially limit the number of doctors (numerus clausus). The studies are really long and you have to be hard working but, still, they are easy enough that too many students would succeed without an artificial cap.
- kbenson 10y agoA doctor is as fairly well defined upper-echelon level of a particular skill path. A programmer is a generic term for someone who writes code. If there were a more general push for medical literacy, it would be entirely equivalent, and I would say justified, to say "You too can learn to give medical care!" If we had well defined titles for categories and skill levels for programming, the equivalent to "You too can be a doctor!" would be something like "You too can be a [senior lead on a complex software project]!". Also, let's not forget that sometimes the truthfulness of the assertion takes a back-seat the the desired effect it will have. Very often we tell children "You can be a doctor" when at certain points we know the likelihood of that is very, very small (for any number of reasons, such as aptitude, circumstance or history). The urging may not make them become doctors, but if it makes them expand their ambition and try for a hard goal, the end result may well result in a better outcome for them, regardless of whether they indeed become doctors.
- perilunar 10y agoI don't know. I think the high intelligence of doctors has more to do with the fact that it's a very desirable occupation and so they can afford to only choose the best applicants for medical school, not because it inherently requires great intelligence. I know several elderly and accomplished medical professors who claim that they would not have been accepted into medical school under today's conditions. They got in during a time when it was very much easier academically (but harder financially).
- okaram 10y agoI'm not even sure 'high intelligence' applies to doctors :) some are smart, some are not; it totally depends on how you define intelligence.
- seivan 10y agoThere is an agenda to please retain groups of people. But yeah, I don't think it's about logic, I think the situation has just become a symbolic issue for powerful groups that feel like they're doing the right thing.