Re: Interesting titles
The key is to understand the core of computer science itself. You can then have a fighting chance to pick up new paradigms and technolgies as they emerge. "Specialization" implies just the opposite.
Even these jobs which are not technical, like user interface specialist. When small smartphone screens came out, did their previous work on web page design help? Same with Touch interfaces. You are not a specialist anymore, you are just learning like the rest of us. How well you can adapt is the key and having a wide base to build from gives you best chance to do so.
I remember in college we had class we wrote a compiler for ADA language in PASCAL, course called Comparitive Languages. Not because they ever expected us to do it in the field but so we would understand what ANY compiler does and what every language has to be able to do.