

Ask HN: Is there a spectrum of difficulty/prestige in programming? - JohnnyBrown

I'm a CS student and I've been wondering about this. It seems most professions have this type of thing.<p>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.<p>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?
======
nl
In terms of prestige, I think it goes something like this (from most to least
prestiges)

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/>

~~~
xenoterracide
I'm not sure 4 is in the right order, considering you didn't name
anyone/anything. I would put kernel dev's above framework devs. 0 and 1 are
equal in my mind. Basically you should be able to give names for up to your #8
if you can't name person/company/project it should probably be lower.

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)

~~~
mburns
Would Tim Berners-Lee or DJB fit as a good example of #4?

~~~
nl
DJB would. I was thinking of <http://www.google.com/search?q=Dmitriy+Vjukov>
when I thought of that category. Also Tomek
([http://www.topcoder.com/tc?module=SimpleStats&c=coder_ac...](http://www.topcoder.com/tc?module=SimpleStats&c=coder_achievements&d1=statistics&d2=coderAchievements&cr=144400),
T.O.M.E.K from <http://www.mcplusplus.com/downloads/>)

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"

------
philwelch
Your examples seem slightly wack:

"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.

~~~
carbocation
Podiatrists are doctors to the same degree that dentists are doctors. (Which
is to say, they don't obtain the same degree obtained by physicians.) I think
that research prestige is orthogonal to clinical prestige. Even then, I think
that clinical fields do not have a linear order of prestige. It's more like
individuals carry their own prestige (for research or for patient care).

------
lsemel
Here's a hierarchy of programming languages (meant to be tongue-in-cheek):
[http://blogs.msdn.com/blogfiles/steverowe/WindowsLiveWriter/...](http://blogs.msdn.com/blogfiles/steverowe/WindowsLiveWriter/ProgrammingLanguageHierarchy_1489F/programmer_hierarchy%5B7%5D.gif)

~~~
sz
Haskell (omitted) probably comes in somewhere at the top :)

~~~
ramy_d
_gasp_ what about erlang?!

i like erlang :(

------
mrlyc
I've found kernel and embedded programming to be the most difficult,
particularly when there are big-endian/little-endian issues. Porting Linux to
a new SBC is challenging, as is writing the board support package for it. Also
fun is having to squeeze the last ounce of performance out of a CPU that some
dingbat hardware engineer decided to use because it was cheap.

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.

------
blackguardx
I don't think Chem Es have any more prestige than any other major. They may
net a higher salary, but that doesn't mean anything. My Chem E friend makes
more than me, but he works in a plastics factory monitoring gauges all day
with no design work involved. That doesn't seem very prestigious.

------
daniel-cussen
Maybe Wall Street quants and startup founders on one end, with Fortune 500 IT
individual contributors (hardly what I'd call computer scientists) on the
other.

~~~
GeneralMaximus
Or kernel/compiler/AI hackers on one end and clueless Java school grads
building "enterprise grade software" on the other.

