I struggled with what to do when I was in college, and ended up with a philosophy bachelor's and CS masters. I've been working as a software engineer since then.

One of the hard parts for me, both in school and later, was that I never really fit in with the CS crowd, since I wasn't nearly geeky enough (I didn't grow up with computers, I learned to program starting sophomore year of college, etc.), and my philosophical leanings lead me to see the world in shades of gray whereas, no offense to anyone here, engineers tend to see the world in more black and white terms than humanities majors. In engineering, there are right answers (does it work? is it faster?). In philosophy or history, there aren't. So that conflict always lead me to feel like maybe I was going the wrong direction, since I just didn't really fit in with the real hard-core hacker types. Was I going to enjoy it? Was I going to be able to keep up? It's often hard to tell just how good you can be or how much you'll enjoy something professionally until you give it a chance.

What eventually tipped me was that I burned out on philosophy; I enjoyed the study of it, I enjoyed the process of it, but at the end of the day no one ever has an answer. Any crazy position on any subject you can think of has someone with tenure that made their reputation by staking out that crazy position, and fundamentally there just aren't hard truths that you can easily cling to to dislodge them. So after my undergrad was done, I was pretty done with it: I'd learned a huge amount, become a better writer and clearer thinker, and learned better how to be objective and how to accept being wrong (and to not care about being right, but rather about getting to the right answer), but my desire for answers and progress wasn't going to be met by further pursuing philosophy, and it was time for me to go out and do something. Philosophy might have answers for you, on a personal level (it did for me), but you're not going to be able to convince other people of those answers no matter how good you are, unless you're one of the 3 best philosophers in any given generation. If just the process alone is enough for you to be fulfilled, more power to you, but for me it wasn't.

I do still wish I could do philosophy, and I miss the absorption in reading philosophy as well as the writing and thinking it entails. I could do more of that on my own time, but I have a hard time splitting my attention like that; both software and philosophy require a lot of mental energy and certain type of lose-your-self absorption in the problems at hand. But I've also found outlets for those impulses: I think a lot about how to make things better in our code base, or how to structure programs, or about language design, or about our development process. When I get the urge to write, I blog about software development and engineering. Software is such an involved, flexible field that you can exercise a lot of different skills and scratch a lot of different itches even within the field. So I don't regret my career choice at all; you can only choose one path in life, so there are always things you'll wish you could have done, and the best you can do is find a path where you're happy and enjoy life.

Perhaps most important to me is that the act of creating something new is, I think, a very special sort of act, and getting paid to do it, to create something new that wasn't there before, is something not a lot of people get to experience. The joy of that alone, I think, is really what drives a lot of software developers, and if you have that deep-seated urge to build things and take joy in creating something new, you'll probably be happy as a professional developer provided you find the right sort of environment.

And on a related note: honestly, no one enjoys their job 100% of the time. Maybe 0.1% of the population actually does, and the rest of us just lie about it in interviews with magazines or TV shows ("I love my job, I get to . . ." and "I have the best job in the world . . .") thus distorting everyone else's perception of normalcy, but regardless of what you do you'll have days where you come home and say, "I just want to go read books all day" or "I just want to go work on a farm" or "I just want to do anything but go to work tomorrow and deal with all this stuff again." It happens to everyone no matter what they're doing or how passionate they are about it.