I know how to code, but I don't go deeper than I have to. I specialize in understanding what the client needs and then fulfilling those needs. Problem arises when deep technical knowledge is necessary for a deeply technical task. I don't have it.
Most tasks require more people skills than technical. It's that last 20% that I can't reach. Those special clients that specifically need a deep technical understanding. It's also harder to hire highly technical people if you yourself can't level with them. We've been lucky to expand the core team with a highly skillful technical person and he attracts like-minded people.
In some situations my feelings tell me to quit - I'm never going to be as smart anyway. Which is strange since most people I meet are impressed by my technical skills. Perhaps this insecurity is just the price of having smarter people around. Getting caught up in my own ego of "damn I'm smart" would probably be worse.
All in all I'm super happy to have both programming skills (even if the top firm wont hire me) and people skills (so I can bring in interesting clients to work for). It's just these feelings that get in the way sometimes..