I try to reason to myself that it's normal to feel this way as a programmer / techie simply because there is such a vast amount of stuff to know, that no one really knows even half of it.
What with the multitude of programming paradigms, languages frameworks, mobile dev, webdev, front-end, back-end, sql, no-sql,... I could go on.
In the past 1-2 years I've picked up Android and iPhone development, and am now doing a deep dive into ruby and rails so I definitely feel like a phony at the moment.
On the flip-side, just being able to pick up those skills and do a few successful projects with them gives at least some counterbalance to the phony feeling.