Ask HN: Is there a spectrum of difficulty/prestige in programming?
I'm a CS student and I've been wondering about this. It seems most professions have this type of thing.
For example in engineering you would have chem eng at one end and maybe mechanical or something at the other. Doctors would have a scale that goes from, say, brain surgeons to (just guessing) podiatrists. In the military it would go from (probably) fighter pilots or Delta Force to basic infantry.
My question is, Does the programming/software eng. profession have a similar scale (or the perception of one, which is basically the same thing)? Or in other words, what would be the opposite of writing unit tests at your local insurance company? A web startup? AI? Trading bots?
19 comments
[ 2.8 ms ] story [ 35.1 ms ] threadPersonally I'd go with GeneralMaximus.
i like erlang :(
Java Programmers are the Erotic Furries of Programming
http://lukewelling.com/2006/08/03/java-programmers-are-the-e...
"For example in engineering you would have chem eng at one end and maybe mechanical or something at the other"
OK, I don't know from engineering, but mech is pretty high up there. The low prestige engineers are probably civil engineers, not mechs.
"Doctors would have a scale that goes from, say, brain surgeons to (just guessing) podiatrists."
Fun fact: the low end of prestige is probably GP's. Podiatrists are specialists, and there's prestige in that. Some of them even perform surgery, which is worth considerable prestige. Very high prestige goes to medical researchers. ("Research" is a high prestige modifier to many fields. Consider engineers vs. research engineers.)
"In the military it would go from (probably) fighter pilots or Delta Force to basic infantry."
These actually depend on the individual military service, aside from certain generalities (combat people are higher prestige than support people, command is higher prestige than staff). As a result, infantry would actually be higher prestige than, for instance, mechanics or supply.
Army, I couldn't speak for. I know Rangers and Special Forces and Airborne are higher prestige than "leg infantry", and the cavalry were high prestige in their era, but I can't say for sure.
Navy is hard to say, since there's a rivalry between aviators, surface guys, and submarine guys. But all three of those can be unrestricted line officers, and that's the higher prestige track since it leads to command. If I had to hazard a guess I'd say the aviators have the edge--they command the biggest ships, and ever since WWII it's been demonstrated fact that the real power of the Navy lies in its air.
Air Force is run by the pilots, obviously. Combat pilots over cargo pilots.
Believe it or not the highest prestige component of the Marine Corps is probably the infantry. Everything else is there to support the infantry. Added to this is that every Marine is trained as a light infantryman, and every Marine officer is trained to command a rifle platoon. The Marine Corps doesn't really operate on these terms much, as they simply consider the entire Corps to be the best part of the military.
Prestige depends on how many people will die if you make a mistake. I've done medical equipment and air traffic control software. The sensible companies require at least twenty years experience before they'll even let you touch the code.
0) Turing
1) Kunth/Pike/Ritchie/Englebert/Kay/Steele
2) People who wrote a language or operating system people actually use. Linus, Matz, Wall, van Rossum, Hejlsberg etc.
3) Theoretical computer scientists who have developed stuff people actually use
4) Low level specialists: security specialists, people who work on operating systems and/or performance specialists
5) People who developed a programming framework in wide use today, and have good taste (Cutting/Williamson/Rod Johnson/DHH)
6) Developers on apps used by huge numbers of people. Core Windows/Linux/Parts of Google/Parts of Facebook/Parts of Apple/some embedded systems
7) Theoretical computer scientists who've never developed anything used by anyone beside themselves
8) Developer at a software company or open source project with a good reputation for writing solid software (Google/some Apache projects/3rd party Webkit committer/some parts of Microsoft or Oracle)
9) Developer at a software company (ie, software is the company's primary focus)
10) Developer in some Financial Services companies
11) Enterprise developer/Web developer
12) VB6 developer/COBOL developer/Pick programmer
13) Developer in some proprietary language
14) Your work features on http://thedailywtf.com/
I would order 0 1 (etc), 2, 3, 5, 8, 4, 7, 9, 10 11, 12, 13, 14 (comma placement is explicit where I find those levels equivalent)
Tim Berners-Lee is maybe 3, or maybe category for people who "got lucky once and are now famous". Or maybe there should a separate category called "semantic web specialists". That may or may not be the same category as "Don Quixote, and other windmill tilters"
But kernel dev's would have been better terminology.