Now I'm looking at git again in my free time it's a pretty nice tool, and I can't imagine that I loathed it so much when I had to use it for a course.
What we need is people who understand the complexity we constantly throw more shit on top of; it's only going to get worse the more data points and networking we have to deal with. Pretty soon we're going to have a massive network of autonomous vehicles on physical, country-spanning networks of roads. For this we need systems people. Not front-end developers. The sad thing is that most programmers are absolutely useless when shit hits the fan.
You can't expect someone without git experience to fix broken repository.
Furthermore, I think that there are too many tools programmers are expected to know, and git is one of those. Git is a nice tool, but I don't think that 'real programmers know git' is true per definition. Above all, git is a TOOL; and one could use SVN or mercurial to achieve the same in most circumstances (of course sometimes SVN is an inferior choice, because it's not distributed).
I agree with the rest of the post though. There are reasons to prefer C above other programming languages. However, I think the best approach would be to learn the C-style and learn multiple similar languages, to be aware of the differences.
The programming people do most of is incredibly easy. Stop perpetuating the myth that programming is hard. People have changed careers to programming using week-long courses. No, they're not working on OS design, they don't contribute to the Linux kernel, but they work as programmers.
Don't kid yourself people, most of you work on CRUD shit. For every systems prgorammer there's a thousand front-end monkeys. Most of you work at such a high level it's basically just lego, glueing components together, with your hundreds of .JS files in your project, none of which you wrote. This is what most of you actually do. Complete packages like Rails... a six-week course can change people's lives (not a bad thing).
There is programming that is hard, it's just that that is not the type of programming most people do, and it's becoming more and more rare.
One major difficulty in programming is maintaining consistency and stamping out ambiguity. When you throw together dozens of libraries to create a new one, the problems of inconsistency/ambiguity are as hard to solve -- or possibly even harder -- than in your own code.
If you've got an 85 IQ and memory deficits, it's going to be a real struggle to even be productive slapping together static HTML pages.