My answer, originally published on Quora.
Q: Should I finish a degree in CS if I don't really want to be a software engineer?
Some context: I started a degree in engineering, did well in it academically (marks wise, I was typically in the top 10% of the class; not that this really matters, but I guess I'm trying to illustrate why I decided to stop) -- eventually I became dissatisfied/disillusioned with how rigid the program was and, through internships, didn't identify any jobs that it would qualify me for that I was particularly enthusiastic about, either.
I am now going back to school, and could major in just about anything, but because of courses I've already completed and general interest in the courses themselves, I am leaning towards CS (perhaps with a minor in an unrelated interest). As the title says, though, I don't really want to be a software engineer (nor do I particularly want to go into academia in CS, though I'm not completely against the idea). I am fairly confident that I want to end up in the technology industry in some capacity, but less as a developer and more as a UI designer (or even a writer, or patent lawyer if I decide to go the law route).
My rationale for finishing the CS degree is: a) I feel like I would be taken more seriously in some sort of non-developer technical role, b) I feel that it would give me 'something to fall back on' if times are tough and I need to do software development to make some money. Do you think these are good reasons, and if so, should I be wary about easily being pigeonholed as a 'developer'? Or perhaps you could suggest an approach to my education that might make a bit more sense for my goals? I agree that a CS degree might be a bit overkill for what I ultimately want to do, but I'm treating it both as an exercise in curiosity (I'm always interested in learning in general; in this case about data structures/algorithms in the abstract), as well as "proof that I can do the stuff if I need to."
If you want to end up in the tech industry in any capacity -- be it in marketing, sales, user experience, consulting, general management, finance, business development, product management, operations, or patent law -- a bachelors degree in computer science will help you more than any other degree I can think of (although I would advise you to continue on to business or law school if you want to do finance or law). That's why Scott Thompson, the disgraced former CEO of Yahoo!, who is far removed from being an actual software engineer, felt that having a BS in computer science was important enough to lie about it.
Take it from me, a non-Engineer working in the High Tech industry, who has a BS in computer science and an MBA in marketing. Although I haven't coded professionally in well over a decade, everyone STILL cares about my computer science Bachelors. And WAY more people care about that computer science degree than my MBA.
And like I said, I'm not an engineer - I've been in product management, product marketing, project management, user experience, and management consulting. In all of these functions, I found that a computer science degree made me highly desirable. It did not "pigeonhole" me at all, and in fact really expanded the options available to me.
But better than the credibility that the computer science degree will give you is the learning. You'll develop a better understanding of how technology works and its limitations, and how to think about technical problems. This understanding will stay with you throughout your entire career (as it has for me) and will help you professionally. I still use what I learned as a computer science major every single day.