Why do some people (which includes me, I guess) have poorer foundational skills while being better at certain specialized field-specific skills, such as programming?
I think it's common for us engineers- we care about the problem, the details. So that's what we focus on. And that can actually help in interviews- we can rely on our knowledge to give us the confidence we need. That sort of quiet confidence shows the interviewer that you can do the job. The rest of it is just treating the interviewer how you would want to be treated- with respect and kindness. That shows that you can get along with him and the rest of the team. That's it! That's all they're looking for.
You most likely work on your field specific skills orders of magnitude more often/intensely. What have you done to develop your foundational skills in general? Where are you weak? Where are you strong? What have you studied recently to make them better?
I am weak in closing the deal with job interviews, mainly. However I don't know what is the average ratio of offers to interviews for developers applying to mid-level jobs.
So I guess you're saying I should be studying people skills, I guess? I often hear that I need to get mock interviews but there are few official sources for it. Also it's not very instructive to tell someone to just find any friend. Most people do not have experience interviewing programmers, so they wouldn't be good for mock interviews. And mock interviewing with friends would introduce too much of a positive bias you won't have from strangers.