You should learn C. Most current engineers don't, and therefore the fundamentals of things like memory allocation, data types, call stacks, etc. remain a mystery to them. I have one other comment to make. In my opinion, being a strong programmer is mostly a "knack," meaning it's not a particularly teachable skill. Some people are just amazingly good at it. If you are, great. If not, I suggest acknowledging that and f…
Noob question: Is there room for below average programmers? If so, where?
I just wanted to make this point because I've repeatedly seen folks frustrated by others who just get things faster and ultimately make progress much more quickly in their careers.
I think it's useful/important to acknowledge that programming is a bit like sports. It's not fair, but some people start with an incredible genetic (or something) advantage built in. I've seen this time and again.