That skill is neither expected nor rewarded in academic careers. So unless they moonlighted as hackers or in a company, they never learned to code as students, and certainly won't as staff. They certainly won't teach it.
That skill is neither expected nor rewarded in academic careers. So unless they moonlighted as hackers or in a company, they never learned to code as students, and certainly won't as staff. They certainly won't teach it.
Here's an article that explains it via the 'theory of the leisure class': http://lemire.me/blog/archives/2011/06/06/why-i-still-progra...
"I believe that the rejection of programming as a lower activity can be explained by the Theory of the leisure class. In effect, we do not seek utility but prestige. There is no prestige in tool-making, cooking or farming. To maximize your prestige, you must rise up to the leisure class: you work must not be immediately useful. Thus, there is more prestige in being a CEO or a politician, than in being a nurse or a cook. Scientists who supervise things from afar have more prestige. Programming is akin to tool-making, thus people from the leisure class won’t touch it. People will call themselves engineer or analyst or developer, but rarely “programmer” because it is too utilitarian."
Just like computer science is not about computers, it's also not really about programming. Certainly there's overlap. I have a pH.D. student friend who works on proving the correctness of programs. He doesn't write code, he writes proofs. Of course he'd be more rusty in C than a full time C dev.
But I also have pH.D. students that build proof-of-concept software. Yeah, they're not optimized in the way that live software is optimized, but they can certainly code.
And I really have to wonder where you went to school if "most" of the TAs and profs "can't code" and what kind of standard you have. That was not my experience at all when I went to school.
Finally, I didn't realize how many teachers and TAs couldn't code while I was a student--although I had serious doubt about some of them; I fully realized it when I was a PhD and TA, with a background as a start-up developer.
I don't see it as a huge issue, though: as the article points out, many developers successfully learn to develop on the go. In my opinion, school is there to teach you the foundations which would be very hard to learn on the fly as a junior developer: maths, formal reasoning, hardware architecture, algorithms, maybe a bit of formal semantics. As I recall, those happened to be the most interesting lectures, given by the most awesome professors; it's probably no coincidence.