I think a more significant distinct is between skilled and unskilled/semi-skilled rather than between manual labor and office work.
Skilled labor, such as master electricians or certified mechanics, are generally well paid, often have a decent amount of independent thought in their work, and are generally hard to replace (and therefore hard to outsource or layoff). They are also unlikely to be automated any time soon, though it is possible.
On the other hand, unskilled labor tends to be easy replace and is much more likely to be automated in the future. For precisely those reasons it often comes with low pay.
Just as my personal perspective, I could easily support with pride, my (currently quite young son) if he decided he loved cars and wanted to become a mechanic, for instance, but I would want him to consider very carefully before seeing something like being a janitor or factory laborer as anything more than a way to pay his way through college.
I would add that there are more similarities between a master mechanic and a skilled applications/systems programmer than people usually recognize.
Both professions require similar amounts of schooling (Two years at a tech/vocational school versus four at a university, but I would argue that there are only about two years worth of CS classes that are really necessary for programming success), and both deal with large, similarly complex systems that need to be known equally well for success.
I would even go so far as to argue that the same "type" of mind gravitates to both professions - differing socioeconomic pressures just nudge people in different directions.
I definitely agree that some of the manual "vocations," such as electrician or plumber are really great trades, and are ideal careers for a certain personality type. Some people really need to work with their hands, and just can't abide a cubicle. I wouldn't deter my kid from these trades either.
That said, I think CS is pretty far from these fields. It's a little hard to say, because I don't have a background in these vocations, but in some ways I think they have more in common with nursing or even medicine. There's a required and tightly enforced educational background, formal licensing, and apprenticeship, and when you leave, you really are prepared (again, I presume) for practice.
Truth is, we have no such thing in programming. CS really doesn't prepare you to be a programmer. While I suppose some things in programming are becoming standardized, there ultimately is no agreement on fairly basic things. As five programmers to write a webapp, and I mean a simple, two page, database driven crud app, and you'll get five very different implementations. There really is no accepted way of doing things for us, not on the level of a formal vocation.
Of course, I say this not really knowing. For all I know, electricians graduate from their apprenticeship, show up a their first job, and figure it all out for the first time like programmers do.) I sure hope not, though ;)
I agree that most of CS is far more freeform than these professions, but I mentioned systems/applications programmers for a reason.
They need to write their software to behave compatibly with certain system restraints, and thus don't have quite the freedom afforded to web app developers and their fairly lax-by-comparison set of browser requirements.
Granted, the similarities only go so far - being a mechanic is far more diagnostic and enhancing of the underlying system than being a programmer is (and hence, as you said, probably closer to the medical profession). However, a mechanic's ability to diagnose issues based on the subtlest of clues seems fairly close, at least in my experience, to a skilled programmer's ability to track down a quirky bug - both are based almost entirely on their exhaustive knowledge of the underlying system. The medical field's underlying system is biologic rather than mechanical in nature - hence most of the diagnostics have to be based on generic tests that are variably reliable (at least now, prior to surely-forthcoming genomic advances in medicine), rather than solely intuition and experience.
Quite true. My brother is an audio technician, he does recordings for bands as well as the technical work in setting up studio's and such. He knows almost nothing of programming and little of theoretical mathematics (outside that which he uses) yet when I talk with him about anything technical, I keep noticing he has the programmer/engineer/hacker/geek mind. People with a passion for anything technical tend to intuit concepts like abstraction and logic, even without being taught explicitly.
A friend of mine is a high-end carpenter. He flies to NYC from LA once or twice a year to install stuff in various bars/restaurants/clubs, as well as doing a fair amount of work in Malibu, Beverly Hills, Bel Air, etc. I would guess that he makes more than the average developer.
Anecdotal, but I am an unemployed software engineer/ programmer/ whatever. I picked up some temp labor work for quick cash. Obviously that kind of work has built in benefits that satisfy the mind and body, but my "colleagues" really made me question society. From what I saw, manual labor was a sure path to a life time of degeneration. I've also seen the flip side, which I hope is the majority, not enough exposure to be certain.
1. It has been a looong time since I read _Being and Time_, but I don't think that's what Heidegger had in mind.
2. Could it be that we're on a 35-year, say generational, cycle? It's about that long since _Zen and the Art of Motorcycle Maintenance_ came out.
3. Don't underestimate the trades' exposure to the larger economy. In Washington, DC, where the economy remains relatively stronger, the best builders stay busy. But I hear it is not so elsewhere, and here a lot of the less-skilled manual workers are out of work.
More than "maybe robots". If you're a kid looking at what to specialize in, maybe just entering college, I'd still say go for the knowledge stuff (science, programming, etc). In ten, fifteen, twenty years, the idea that robots will be doing construction, driving, plumbing, sewer cleaning, all quite plausible. We're a very long way from totally eliminating human labor, but we're actually starting to see robots being able to do 60%, 80%, 90% of those jobs starting to come over the horizon. Still not "tomorrow", but as you plan your life path, keep that in mind.
(If the idea of robots doing construction sounds odd, remember that what we consider "construction" is currently shaped by what machines can do vs. what humans are good at. As the machines get better, the nature of construction can change. This sort of thing: http://www.physorg.com/news139161727.html won't just "replace humans" but change the nature of what's cheap and what's not when it comes time to decide what to construct. A robot doesn't need to replace a human's full capabilities to replace their job.)
Skilled labor, such as master electricians or certified mechanics, are generally well paid, often have a decent amount of independent thought in their work, and are generally hard to replace (and therefore hard to outsource or layoff). They are also unlikely to be automated any time soon, though it is possible.
On the other hand, unskilled labor tends to be easy replace and is much more likely to be automated in the future. For precisely those reasons it often comes with low pay.
Just as my personal perspective, I could easily support with pride, my (currently quite young son) if he decided he loved cars and wanted to become a mechanic, for instance, but I would want him to consider very carefully before seeing something like being a janitor or factory laborer as anything more than a way to pay his way through college.