Not strictly related to programming, but in general, most engineers don't use the stuff that they learned in college. If it's maybe 20% of the work, it will go to 20% of the workers, rather than each worker doing it 20% of the time. As a result, engineers quickly differentiate and stratify in the workplace.
You may be one of the 20% in your particular area of interest. If you're doing the kind of work that most engineers tend to avoid, you will never be unemployed. ;-)
I got a degree in EE, but spent a year in CS (don't ask). Some years back I totted up what have used since graduation that I actually learned in class. I didn't get a CS degree because it is too easy -- you just read the book. So I didn't learn any CS there, I had already read the book.
The only thing I have used since graduation, for work, that I actually studied for a class was big-O notation and reasoning.
But! Every week, in every engineering class, they assigned problem sets. Every week I read them through and knew, with certainty, there was no way I could do them. Then, every week I turned them in, completed correctly.
So that was what I really learned in school: that I have no real sense of what I can learn to do, and do. Since then, I have just done things, without worrying about whether I was really capable.
You may be one of the 20% in your particular area of interest. If you're doing the kind of work that most engineers tend to avoid, you will never be unemployed. ;-)