Perhaps a different slant, actually getting a job...
If I needed a good general purpose "programmer guy" (with apologies to the ladies), and you told me I could hire one of 2 programmers, one who was a good C programmer, and one who was a good (pick any of the high level abstract away every detail languages... java, ruby, whatever), I will take the C programmer every time.
I can teach a C programmer the other stuff, because the C programmer has a solid foundation. Like it or not, C is the underlying structure on which many of the higher level languages are built. Once you know C, it is a simple matter to "get spun up" on the higher level stuff.
It's easier to teach a mechanic to drive, than to teach a driver how to repair an engine. The mechanic understands the systems, how they work, what the implications and interactions are, etc. The driver knows the big pedal makes the car go faster.
If all you know is how to make calls on a massive library, you are missing fundamentals. If you have no understanding of how these libraries accomplish their tasks, you are ill prepared to choose the appropriate one.
Oh, and when I need to have a micro-controller talk to your application, I have to hire someone else to program it.
(caveat.... I'd really like a programmer who knows C *and* has a good grasp of OOP concepts. Those 2 skills cover a vast swath of programming requirements in the real world.)
If I needed a good general purpose "programmer guy" (with apologies to the ladies), and you told me I could hire one of 2 programmers, one who was a good C programmer, and one who was a good (pick any of the high level abstract away every detail languages... java, ruby, whatever), I will take the C programmer every time.
I can teach a C programmer the other stuff, because the C programmer has a solid foundation. Like it or not, C is the underlying structure on which many of the higher level languages are built. Once you know C, it is a simple matter to "get spun up" on the higher level stuff.
It's easier to teach a mechanic to drive, than to teach a driver how to repair an engine. The mechanic understands the systems, how they work, what the implications and interactions are, etc. The driver knows the big pedal makes the car go faster.
If all you know is how to make calls on a massive library, you are missing fundamentals. If you have no understanding of how these libraries accomplish their tasks, you are ill prepared to choose the appropriate one.
Oh, and when I need to have a micro-controller talk to your application, I have to hire someone else to program it.
(caveat.... I'd really like a programmer who knows C *and* has a good grasp of OOP concepts. Those 2 skills cover a vast swath of programming requirements in the real world.)