First of all, a CS degree is not just a prep-for-a-job program. CS a wide and interesting field, and a good undergrad program will give you a set of analytical tools that can be used in many places, not just software development job.
That being said, it's not for everyone.
Personally, I really enjoyed my undergrad studies and continued to get my Master's degree as well.
In terms of work, I think that a well-rounded CS education gives you an edge over uneducated programmers in the first couple of years - A CS graduate is trained to analyze and abstract problems, which makes it easier to deal with large and complicated problems faster. After a couple of years, this edge is gone - Experience matters much more at a soft-dev job.
As for convincing someone to give you a job - Show them something impressive that you've built.