Is Computer Science Still Worth It?
prostoalex writes "Is it a good idea to go into Computer Science? Yes, there are certainly pending labor shortages as Indian companies outsource to the United States, but speakers of Stanford Computer Forum generally agree that it's a good career choice. From the article: 'To ensure job security, students must learn business, communication and interpersonal skills, Vardi recommended. The personal touch will become as important as technological expertise, he said. "There are jobs galore," agreed Suzanne Bigas, assistant director of the Stanford Computer Forum.'"
It's great being a CS degree holder. You can sometimes get flexible working hours, decent benefits, and an ungodly low level of sunlight in the year. Given the carcinogenic effects of solar radiation these days, coupled with toxins in diet softdrinks, it's probably best that white collar workers live and work indoors though.
Work for talented programmers will never end. But work for programmers in general will not be as common in the coming years when everyone and their dog can make a website on My Space.
Oh You POS
Is studying philosophy worth it?
Yes, if you love it.
If you depend on private industry- job security to these idiots means 2 years and you're out searching again. So what if there is plenty of opportunity if you never vest into your vacation time, let alone any other benefits? So do what I did- tell private industry to go learn to program their own computers and join government instead- where at least you can be assured you'll have a job tomorrow.
After 2001, I'll never trust the stock market or private industry ever again. Driving a truck is better than doing IT work for idiots.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
Yeah, it's still good, you just have to add that twist. Biology seems to be popular these days, business, marketing, others like that sure are helpful. Straight computer science? Well, you'll probably be just a code monkey. Learn statistics if math is your thing, we're always looking for people who can turn numbers into useful statistics, but program it to make it flexible. You don't have to have a double major, not that that ever hurts, but a minor or even a few electives.
VoIP stuff seems to be a big thing, especially in developing countries(ever wanted to travel?), learn codecs, learn how to program codecs, learn how to hack Asterisk and SipX and some of ht eothers, play with Asterisk@Home.
Oh, this isn't an Ask Slashdot? Sure looks like one.
IT is a boom and bust field that will gradually decay in its value as the technologies it is based on mature.
The business cycle drives investment in IT so it should be regarded as a cyclical industry just the way any capital intensive business is. As growth in IT technologies peter out (Moore's law hockey-stick growth) inevitably flat-lines as technologies hit their limits growth will fall to the same growth as the economy as a whole. Like the railroads, utilities etc.
If you are 50 or so and are looking to make a career change IT is not a bad choice - it will probably be a sound field for at least the next 10-20 years.
But for somebody who is just entering college I think that other fields, particularly anything associated with health care are better opportunities. They will surely offer careers with better sustainability than IT.
What was that about degrees being worth the extra tuition fees because of higher wages Mr Blair? So many people are getting degrees now that they've stopped being the ticket to a good, high paying job that they used to be.
Not that I'm bitter and twisted or anything...
India outsourcing to the United States? That's, um, actually pretty funny. And good news also, since I'd like to go into a Computer Science related field, but was wary of it previously as I already have an AAS in Electrical-Mechanical Engineering courtesy of the Air Force, and it didn't seem like there was a lot of money or jobs in Computer Science anymore. If that trend is changing, I might give CompSci another look when I get out, but I'm leaning more towards Computer Forensics then IT at the moment.
Never give in--never, never, never, never, in nothing great or small, large or petty, never give in except to conviction
You confuse computer science with computer programming.
That is like confusing music theory with music composition, something I would hope you would be aware of.
Computer science deals with algorithms, complexity notation, predicate calculus, proofs, and grammars, most of which you will not pick up by just being a programmer.
GPL Deconstructed
"Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
I think there's always room for good people in CS. If you're a type who goes to Stanford/MIT/others and gets a degree in CS because you love learning about computational processes and have a natural drive and curiousty, my guess is that there are plenty of firms willing to hire you.
If, on the other hand, you want to learn CS to get a 'good job' after school, and end up going to a second-rate university where they teach you specific software instead of abstract ideas, you might not have such a good future after college.
I'm sure both types of students attend all universities CS departments, don't get me wrong. I think your attitude going into it is what matters most, if you love CS and work hard, I bet you'll be just fine. If possible, don't choose your major based on what's in fashion, do what you want.
Pls stop confusing Computer Science ie. a science of computing ( just as Physics, Astronomy, Chemistry, Geology are sciences of their respective disciplines ) with IT ie. Information Technology, a trade with fluctuating job prospects.
eg. The real-estate situation in the US is currently a bust - doesn't mean you should rethink becoming an architect, which is a seriously long-term proposition. However, you SHOULD rethink applying for a real-estate broker's license, since short-term is your concern.
I can't speak for other parts of the world, but in the Netherlands IT is one of the best sectors to be in. Frankly, I have a hard time understanding all the people on slashdot talking about how shitty a job in IT is. Maybe things in the states are totally different (for one thing, the wages are even higher than here in the Netherlands). But there is little reason why IT could not be a pretty good career choice. Of course, there are some things which might help you along:
* Work on your social skills. It's not accurate along the board, but many people think that every IT specialist lives in his mothers' basement. Be sociable and this prejudice might turn out to be an advantage.
* Keep on learning. It's fun but it's also an investment in yourself. In few sectors knowledge is as volatile as in IT. Make sure you keep on top.
* Find an employer that fits your personality. Don't expect flexibility from a megacorporation and don't think small businesses will be able to buy you education.
* But most of all: Make sure you're doing something you like (most of the time). A great salary is of little use if you hate the work. If you enjoy your work, you'll be able to go the extra mile which will pay for itself in the long run.
It used to frustrate me that I didn't know how to program C decently but I rectified that starting in 2002. I was going to start by reading The Art of Computer Programming and realized how much MATH there was, and how it would be in assembly, so I did a "shortcut" and read K&R and Code Complete and did things that way. Of course, there are no real shortcuts, and the right way to do it is learning the math and the assembly language and going like that.
This is just something I want to do. I want to stand around all those code gods and be like them (in the sense of coding and skill, not necessarily everything else). There's the old cypherpunk slogan "Cypherpunks code" and one way of learning to code is to just write code, but I want to have a track where I'm doing it the right way while I'm on the second track of actually writing stuff now.
I also find biology interesting and may take a minor (or double major) in that. I don't think I'll worry about job security much with a bachelors in Computer Science and Biology. Or even a Masters. Or Phd. I think one step at a time though.
One thing though is I want to do this. I would do this even if there was no material reward. I think that is something to think about. It would be nice if I could make more money, or get a job doing less braindead stuff, but if all that happened would be that I would know enough to contribute to the Linux kernel, or some free software projects which I like, that would be enough for me. After doing mindless BS wage slave stuff all day, it's nice to go home and do my own work where I can actually do what I want, even if I make no money at it. If I could make a living doing that stuff, so much the better, but I would go crazy if all I did was cog-in-the-machine mindless nonsense all day.
Yeah it sucks, but I personally know the jobs are out there. Pick up what work you can, keep being interested and you will expand your knowledge beyond that of the CS grads who are just in it for money.
I think that CS, like anything, is always worth it (in more ways than one) if you are genuinely interested.
I'd recommend forgetting about a CS degree, computers are on their way out.
For a degree thats always in incredibly high demand.
English.
I didn't have a clue what I wanted to be. Everything interested me, so I got a B.A. in liberal arts: majored in Eng Lit. Minored in classic Greek. Lots of history/philosophy. Got a full scholarship to grad school and got a masters in philosophy.
By this point, I thought I would be a professor. The thing is, to support myself I did computer work throughout. I finished my masters to find myself full-time employed in IT. Until I could figure it all out, I kept doing IT work and got promoted twice. I'm now a senior engineer specializing in IT security and regulatory compliance. I wear many hats in the area including policy writing.
I'm near 40 now and still waiting to find out what I'll be when I grow up....
Never had a single computer class in my life or received a certificate.
I enjoy Linux, coding & walks in the park in the evening....
"All great things are simple & expressed in a single word: freedom, justice, honor, duty, mercy, hope." --Churchill
That's really true of most degrees, nevertheless, the structure of a formal academic environment helps many people to maintain the discipline to do it, often provides access to skilled instructors that make gaining understanding easier, generally increases the diversity of equipment and resources you have access to in the learning process, may, as a degree is something people often take note of, increase the material reward you get from it, and may make you eligible for additional financial assistance (which may or may not make up for the additional cost) and other benefits.
Whether those benefits are worthwhile for any particular person interested in getting an understanding of the field will, of course, vary from person to person.
As a professional software programmer for over 20 years, I'd advise anyone who wishes to still be programming professionally in their 50's to spend a summer selling used cars. Being able to sell yourself will be much more important in the later years of your career than your technical knowledge will be.
I'm tired of {system-,network-,db-} administration, programming, and every other trade skill getting equated with Computer Science. CS is a branch of theoretical mathematics and has very little to do with anything you can sit in front of, type into, click on, or reboot. And I don't mean this as a (serious) troll. I just hate to see the term misused, much like engineers cringe when they hear the building maintenance staff referred to as 'engineers', as in "we'll have an engineer bring some buckets up to put under that leak in the roof."
/End of Friendly Math Snob Rant
I have found there are just two ways to go.
It all comes down to livin' fast or dyin' slow. -REK, Jr.
Yeah, and you can become a particle physicist in your spare time too.
G.
Gregory Casamento
## Chief Maintainer for GNUstep
- You got a poor quality degree (either from an institution with no reputation, or a low 2.2 or lower classification).
- You haven't done anything interesting with your time at university (join / run any student societies, etc).
- You haven't taken the opportunity to get any work experience (most universities run summer placement programmes, if you can be bothered to sign up).
You get out of university what you put into it. If you're just there to get a piece of paper, you will just get a piece of paper and it won't be much use to you.I am TheRaven on Soylent News
Yeah, and you can become a particle physicist in your spare time too.
Dang - and I picked quantum physics instead - oh well wrong/right again.
Get a degree in CompSci if you find that kind of problem interesting, and you'll spend three years having fun. Once you have the degree, you can do pretty much whatever you want with it.
I am TheRaven on Soylent News
Was it right or wrong to pick quantum physics before I read the sentence?
The concept of an "IT" job is way too vague to be useful. IT has long since split into various disciplines (eg. hardware guy, code monkey, dba), and now those are subdividing even more. While there isn't that much difference between being an oracle dba vs. a mysql dba vs. a mssql dba, there is a big difference between being a java/c#/c++ coder vs. being a site builder, and a huge difference between being a site builder vs. a dba. The differences in these fields are reflected in what CS (or related) degree (or job skills) one might want to pursue. The real question(s) ought to be "Is Still Worth It?"
Yeah, and you can become a particle physicist in your spare time too.
Well actually you can, it's just rather unlikely that anyone would hire you, without the backing of some sort of accredited school saying that you know it. In terms of knowledge, you could know the exact same things, you'd just lack a piece of paper vouching for you.
There's nothing magic about going to school; colleges these days aren't repositories of secret information, released only once you've sworn an oath of allegiance to the guild lords; you can find out most of what's being taught in any college class by buying the book. (In graduate classes or more participatory classes, it could be harder; but I'm thinking about bachelors-degree physics and mathematics.) In large universities, many classes aren't even taught by professors anyway; just by TA's (slightly more advanced students) reading from someone else's notes or from the book.
The reason the un-degreed student isn't worth anything, is because most people don't have the attention span or discipline to actually learn that way. Therefore, if you said that you'd spent a few years months sitting in your room, studying particle physics, and done all the experiments with equipment you built yourself in your basement, and now knew as much as someone who'd learned it while studying for a degree, I'd probably not believe you. It's not that it's not possible, it's just not likely.
Degrees exist because they're a way of verifying that somebody probably knows something, without actually testing them. The more esoteric the subject, the more important the diploma becomes, because it's harder and harder to verify that someone actually knows their stuff.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Is this supposed to suggest that we're somehow "done" with computer science? Application is great and all, but it has basis in constantly evolving theory, just like in any basic science.
Don't be fooled. Application is important, but try doing your physics homework without understanding the underlying theory and see how far you get. If you want to be respected in the industry, and if you want to find a lifetime in computer technology fulfilling, get a degree in computer science.
If your career aspiration is "high paid code monkey," then ignore this post.
Attention deficit disorder is a complicated issue, spanning several major... HEY LET'S GO RIDE BIKES!
"Seriously, until IT has its own professional body that REQUIRES IT workers to be qualified/certificed in the same way as other professionals, its a career to steer clear of." Unless you graduate from a non-ACM acreditted school, CS does have a professional body that does require university graduates to be qualified/certified by taking certain courses and passing a field entrance exam that is just like any other engineering field..
A career is going to take up the bulk of your time for the bulk of your life. You damn well better like what you do. If you do, if you really enjoy thinking about CS problems, then do it. You'll have energy and passion, which usually mix with experience to form competence, and that leads to money.
Everyone told me not to go into CS, that it was dead, when I graduated from High School in 1992. When I got my CS Degree in 1996, everyone was scrambling to get into this dot-com thing. Then, four years later, everyone was getting out again. Don't make career decisions based on fashions and trends like this.
If what you enjoy is actually just making money, and that's a perfectly fine thing to enjoy (if not really geeky), go into business. Minor in CS, and then become a project manager with an aspiration of management. Lots of room for business people, particularly ones who actually can understand the technology, and they get paid well too.
If you just want to be lazy, and do the minimal work to get the maximal money - forget about it. You'll be mediocre at whatever you do. If you're lucky, you can get a soul-crushing job, blend into the background, and collect a paycheck. Soul-crushing CS work pays better than average, but damn, you've made a serious mistake if you're going this route.
I'll reiterate the formula, even though it's obvious: Passion leads to Competence leads to Money. It's very hard to be competent at something you don't care about, and the odds of making money if you're not competent go way down. Some passions are harder to find regular work in than others, but if that's what you want, that's what you'll be best at, so go for it. There's almost nothing as awful as being bad at your job.
-- Kate
I teach introductory CS at the University of Washington. In our course we scan through the IMDB top 250 movies, examine historical popularity of babies' names, search for codons and amino acids in DNA sequences, parse maps and topological data, compute weather stats, analyze Myers-Briggs personality testing data, and solve other exciting problems.
Best of all, there are still a ton of great jobs waiting for graduates with computer science degrees at exciting companies. UW's students routinely end up at Google, Amazon, Microsoft, Intel, IBM, Nintendo, and other great places. CS jobs pay great salaries compared to most other fields! Most of the grads I keep in touch with are living very well at a young age.
Go check out UW's computer science videos on YouTube, which talk about what this field is, and follow several women in our department as they go through a day in their lives at work after graduating:
http://www.youtube.com/profile?user=UWCSE
How can you say that with such assurance? It seems to me that one can be good at both of these skills if they work on developing them both. Why do you think someone could have one of these skills max?
Time. Somebody who is good at interpersonal skills has to spend a *HUGE* amount of time developing and maintaining those skills- time spent at parties and at bars and in social situations. Without that time spent, any human being's interpersonal skills will degrade- to the point that we consider a prisoner kept in solitary for a mere three weeks to be insane.
Likewise on the DBA side- time. It takes a HUGE amount of time to gain and maintain computer skills- starting as a teenager working on the computer in your parent's basement instead of going on dates, clear up to the guy who reads every word of the SQL user groups to keep up on the latest changes to the language in the five major dialects.
A SENIOR DBA is going to need to be the later, not the former. There are only 168 hours in the week.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
All this from a "business alliance"? Wow, I'd have never expected that....
~
I have a CS degree. I've got a high paying job. I found out I'm actually being paid way below average for my profession and location. I'm looking for another better job. There are plenty of them available, and they pay a lot. The key to being successful at CS is twofold. One, don't suck. Lots of people get CS degrees, but they actually don't give a crap about software. The people in college who code in their spare time for fun are the ones who succeed. The rest end up handling tech support calls. The second trick is to not insist on living somewhere crappy. You pretty much have to go to a major metropolitan area to get a job. You can't sit in hicksville and complain there aren't any programming jobs.
One other trick to being successful as a software engineer is to learn technologies in high demand. If you learn Ruby on Rails your chances of finding a hot job are pretty low. You might find work at a startup here and there, but that's about it. If you learn the J2EE platform, relational databases and all the associated stuff you are almost guaranteed to find a high paying job. Go look around on job sites, pretty much everyone is looking for Java Enterprise developers, but the supply is way low.
The GeekNights podcast is going strong. Listen!
So if by crappy you mean design, I don't think a degree in computer science will help. If you mean crappy as in functionality, a degree in computer science might help.
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former. ~Albert Einstein
... because once you master discrete mathematics, you're {s, e, t}. Careful though, because if you don't pay attention and concentrate on what you're learning, you'll end up with Ø.
Sorry... couldn't resist. On a more serious note, I started on the BSCS path at Virginia Tech over a decade ago and had to stop a few months into my sophomore year. Now I'm enrolled in ASU's BSCS program after not doing a lick of calculus for 10 years, and the math is kickin' my arse. It's true what they say: if you don't use it, you lose it. My advice for aspiring CS gurus is definitely "stick with it once you start." Picking up the pieces years later to continue your education can be a little mindblowing.
I'm actually quite comfortable w/ my IT career. I've been self-employed since 2002, and I've done everything from custom programming to network administration and project management. Picking up my CS degree is something I decided to do because I want to do it, not because I need to do it to get a better job. For me, CS is still worth it because I want to take my programming and software engineering skills to the next level. I've been programming since I was 8 years old, and I feel like I've hit a plateau in my programming skillset. The one thing I want to develop from my CS studies is how to put all of the little pieces I've learned over the years together so I can contribute to the development of larger, more complex software projects. Perhaps I'll even try to start cranking out some Linux Kernel modules or something.
-- Stu
/. ID under 2,000. I feel old now.
No, it's never been worth it. If you are trying to decide what to do, and think that maybe you'll try programming--just save us all a lot of time and effort and do something else.
How come you never see people saying "Should I go into Painting", or "Maybe I'll try Music as a career". When it comes to careers that are art, including programming, If you don't KNOW that's what you are going to do, then you're just not going to do it well enough to make anyone happy.
When you wonder why virtually all software is buggy, full of delays, poorly designed and shoddily implemented--it's generally because someone is doing a job rather than creating art.
So then this is one of those cases where "if you have to ask, the answer is NO".
And then there are the rest of us, who write well formated, well structured, well designed code every day, but never went to collage. We did what a LOT of people did in the 80's we picked up a copy of whatever language we could get our hands on and started teaching ourselves.
We read books, we looked at other peoples code, we experimented. We wrote our own Direct to Video Memory code to avoid the bios screen write functions.
But now we are in our late 40's and not hip and cool. We don't get hired because we don't have a piece of paper saying we know something, we just have massive amounts of code to back us up, but none of the under 30 hip cool crowd cares about that, its "You got your degree from where?" When I tell them SHK ( school of Hard Knocks ) as a joke and then tell them I am self taught, I get the "We want someone more qualified" What a bunch of horse shit.
Thats the biggest problem with our society, no one values experience, no one values wisdom gleaned from 25 years of doing the JOB.Most of us don't care for the latest and greatest Ruby on Rails or Roads or even a race track. We don't do cutting edge, we do what works, we do it most of the time under budget, ahead of schedule and in code that readable AND commented.
So we will keep writing code that supports what all you "Latest & Greatest" fan boys think is SO cool, when in fact its the exact same language we built so many years ago, with a cosmetic twist.
I guess the other thing that is SO fucking depressing is that most CS or even SE grads these days don't have a clue how to create anything unless its spoon fed to them in some object repository. I asked a recent CS graduate if he knew any assembler of ANY flavor. His response was, "Well we had about 2 hours of it and some theory", but other then that all he knew was Java and rudimentary C.
A pretty sad state of affairs if you ask me. And people wonder why companies outsource.
Hey KID! Yeah you, get the fuck off my lawn!
Then perhaps you need to jettison your ego; you don't seem to have the CV to back it up.
You do seem to be in a catch-22, I am guessing the parent was right by saying your qualification was below average. You can't get a graduate job, which expects a good degree but no experience, but you can't get a normal job which expects experience, but not necessarily a hot qualification.
Your only option is to start bagging experience pro bono. Try asking for work experience, for free, at companies. Expand your own horizons and skills while you are doing it; I learnt Ruby for kicks a couple of weeks ago, and it's something I can put on the application form.
Having graduated from Bristol Uni this year, none of my friends have had any difficulty getting jobs (if they wanted them). The jobs are out there, you just have to look harder and/or make more concessions I think.
Grammars can be used in programmatic and automatic test script generation. You probably aren't using automated testing if you aren't using grammars.
Grammars are also used in compilers and parsers... so you probably haven't worked with compilers or parsers if you aren't using grammars.
Complexity notation is important when you are optimizing algorithms... when correlated with timing information it tells you where the code hotspots are.
Predicate calculus is a little more abstract but is useful to learn because it forces you to think in terms of preconditions, postconditions, guards, and invariants, all used when you write loops, iterators, and conditional logic.
Proofs are even more abstract, but are useful when you are tracing a bug because it gives you the ability to make assertions (This should be true or false) and then test them (Why isn't this true/false?). Without the ability to do proofs you wouldn't be able to debug or test code because all you can ever say is "I think this code should do this, but I don't know why"
GPL Deconstructed
You peeked!
My point is, whether you know Computer Science or not, if you don't have proof (read college education) that this stuff was at least presented to you properly, odds are that you'll have a tough time finding someone willing to pay you... Big companies have so much overhead when it comes to hiring people, that they'll usually just throw out any resume that doesn't say "degree"
Often true, but not always. If you know your stuff and you prove it in other ways, the offers can come flooding in. Smart companies often employ people based on their open source contributions, for example, and pay as well as, if not better, than generic companies sifting through resumes. From the small set of people I know, the smartest are always hired because they're known in their community and the quality of their work is obvious, not because they sent off a resume. Basically, smart people don't need resumes, they have their reputation.
The biggest problems in the CS industry have come from people trying to get into it for the money. If you really love programming, then do it. If you don't, then go somewhere else. It's always been a feast-to-famine line of work, and people who jump into it during feast times just bring it crashing back down more quickly (and more harshly). In short, you're setting yourself up to fail if you're getting into it for the money, and you're dragging the rest of us down with you.
Most people who are in it for the money don't excel at it anyway. If your heart isn't in it, you won't be staying up late almost every night learning new things just because you love doing it. Even if you're exceptionally quick, that puts you at a bit of a disadvantage. Just click on my web site if you want to see the kinds of things we like to do with our spare time. ;-)
I did CS and loved it. I loved the MATH (that's what it majorly is), I loved the programming, I loved having long hair and never shaving... I loved the whole degree. It was a fantastic degree and heightened my experience at university doing the stuff I love...
HOWEVER, who seriously does a degree with the mindset, "This is what I'll do for the rest of my life"? Few I think, especially those looking for a career. I graduated two years ago and my life has taken me out to Amsterdam to work for a large IT company, back to my home (the UK) and I write this now in San José. I'm 23 and I spend most of my time travelling the world. What am I doing? Technical sales...
It's not math, it's not programming... it's not even software engineering. It's not anything I did at university. The Indian and Chinese guys have that covered here. They're also better at it than I'd be. What I've got was learned in the bars, at the sports clubs and on the phone begging for more money to continue my degree (and buy more beer). That's something you can't teach someone in India to do... How to work with people in the states. This means no disrespect, but someone born in India isn't likely to come to the US and wow with his people, presentation and linguistic skills. Someone born in the UK isn't going to move to the US and understand the local people.
It's a people-focussed world. Your degree is a ticket. Make it relevent to your overall goals, but focus on the other special experiences university has to offer.
Now there's one hoopy frood who really knows where his towel is!
Whether it is a "good" career or not, there are three features that one must be willing to accept:
* Risk - It changes, offshores, onshores, downshores, upshores etc. more often than most careers.
* Cyclical - Generally IT has had a 10-year cycle of boom and bust
* Change - Things change all time, and one has to spend time to keep up. Factor this into education costs (including time). If you don't like change, skip IT.
* Agism - Generally age is not rewarded in IT
Table-ized A.I.
> Is it a good idea to go into Computer Science?
In theory, every science is equally commended, because whatever
the topic if you study it hard enough you are sharpening your mind.
It is not so much the facts that are the asset worth acquiring, but
the methods and transferrable skills: exploration, fostering curiosity,
systematic learning, absorbing new ideas, exercising dilligence and
persistence, self-management to meet deadlines.
Whether you do that in philosophy, law, linguistics, biology or
computer science is up to what you think is fun and available to you.
Having said this there are also practical concerns, such as getting
a job, but in my view you should put your interest first, then success
will follow. People who go for subjects selected via their "career factor"
rather than their vocation have less fun and are often second class.
Computer science _does_ have an advantage over other fields: if you look
at its definition, it's the study of systematic problem solving. This
means that you can actually apply the methods you'd be learning in
your classes very well to real life (how to do efficient shopping,
how to pick the best insurance offering etc.). Complex problems are everywhere
nowadays, and who would be better equipped to tackle them than he or she
who has studied their systematic solution?
Sometimes I think politicians should be computer scientists or statisticians,
because most of them were never taught how to _systematically_ solve problems.
If you decide to go for it, make sure that you focus on data structures,
algorithm desig and other disciplines as opposed to gathering "IT knowledge"
because the latter will be outdated soon.