Computer science? yea or nay?
July 3, 2008 7:21 PM   Subscribe

Should I major in computer science? If yes, what career options are available?

I have always loved computers, and considered studying computer science in college. I first tinkered around with Linux when I was 14, loved working on the command line, and created websites with html and php. However, I abandoned that goal as I wanted to do things that make a difference in people's lives and work with people, not mainly by myself in front of a computer. I also haven't been that great in math, and that might hinder me from exceeding in a computing field.

I started my undergraduate studies with the goal of majoring in psychology, and I have been satisfied with my studies so far as I am fascinated by it. But there is always this nagging doubt in the back of mind - that I should do what I really love. I don't really see a future of a career in psychology, I don't think I am cut out to be a psychologist. I would rather do research, but then biological bases are a great impact on human behavior as well and I wouldn't be fully able to understand it (I really dislike chem, and I'm not too big of a fan of bio either). And I do not want to be just another psych major.

So, now I have finished my first year of studies, and I am thinking that I should study computer science as well. I will take my first class in the fall, and if I like it I'll try to minor or major in it (additionally with psych as minor or major).

But - what careers are available to computer science majors besides database administrators and obviously being a programmer? I'm female by the way, if that is relevant.
posted by frettchen to Computers & Internet (23 answers total) 7 users marked this as a favorite
 
How about user interface? It's a mix of computer science and psychology. I say go ahead and try out a few comp-sci classes, talk to professors. As far as math goes, college math is different than high school math - lots of nerdy peeps that I know did horribly in high school but totally understood math in college.
Plus, there is a shortage of engineering/comp sci graduates, especially female. I already pimped this out in an earlier askmefi, but do a google for Girl Geek Dinners in your area. This will put you in touch with women in the tech industry who can guide you.
Another note, while psychology is endlessly fascinating, it is incredibly hard to do anything with the degree unless you go for a master's.
posted by idiotfactory at 7:34 PM on July 3, 2008


I am a physicist so i don't now in particular what jobs are available for CS majors in general but i know there are more than just the rare job working developing scientific code. this can include actually writing code which analyzes "raw" data to writing code which controls scientific instruments (including things like satellites and other space craft which is cool) or i know some companies employ CS people to rewrite code written by "scientists" in IDL or Fortran into C to run better where it needs to run.

So if you are interested in science there are many opportunities in CS to get into some Biology, Chemistry, Physics, Engineering, although you should do more research into these jobs and there availability and if you are interested in a particular science you should try to get a good base knowledge in the science in school.
posted by humanawho at 7:41 PM on July 3, 2008


I think both psychology and computer science offer more opportunities than you'd think. Surely you have already figured out that clinicial psychology is just a tiny part of the field of psychology (and also that real psych jobs require advanced degrees). For sheer job-obtaining power, go with CS. My boyfriend is "just" a programmer, and he works in bioinformatics where he has to know as much about genetics as he does about programming. It's not all tedium.

If you really like both, why don't you steer towards Cognitive Science, a cross-disciplinary field where psych and CS intersect with a bunch of other stuff? There's a lot going on there if you like research.

Human-Computer Interactions is a smaller field, but also very interesting. There's a lab at Georgia Tech working on a computer-integrated house (the Aware Home) that does things like help an older person keep track of a recipe in the kitchen while facing various interruptions. Very cool stuff that requires expertise in both psychology and computer science.
posted by parkerjackson at 7:53 PM on July 3, 2008


I faced the same quandary you did. I literally sat and looked through all the majors my college offered, and researched the ones I thought were interesting, and decided on Human Computer Interaction a few months ago [end of my second year]. It's pretty much what idiotfactory mentioned--a mix of CS and Psych. I was worried about the math requirement, too, but it's not too bad. I have 2 more math classes to take next semester, and I'll be done. I haven't taken any of the core classes for the major so far, but i'm pretty excited about them, considering the subject matter they cover [cognitive psych, computer interface design, etc.]

You might find this thread interesting, too.

Good luck!
posted by asras at 7:58 PM on July 3, 2008


I would second cognitive science. Like parkerjackson said, it's an intersection between psychology and computer science and various other areas. It was my major at UCSD and my favorite series was the more design and human environment one.
102A. Distributed Cognition
Distributed cognition extends beyond the boundaries of the person to include the environment, artifacts, social interactions, and culture. Major themes are the study of socially distributed cognition and the role of artifacts in human cognition.

102B. Everyday Cognition
This course examines memory, reasoning, language understanding, learning, and planning directly in everyday, real-world settings. The coursework will include discussions of both the findings and the methodology of naturalistic studies of cognition.

102C. Cognitive Engineering
Applications of cognitive science for the design of human-centered systems are explored. An extensive project analyzing an existing system or product or designing a new prototype application is required.
Professor Hutchins is the teacher for the first two courses, and while his book in the first class is a bit dry and seemingly unrelated to the topic at hand, it does lay the basics of describing human environments and what things to look for. (cog sci also doesn't rely completely on bio; some cursory knowledge is required--you're studying the brain and human behavior--but it's not the only thing)

It is required to take computer programming courses at UCSD for the major. Computer modeling has become very important in studying the brain, and I can see that increasing. Actually, in pretty much any field of study, I can see the requirements for computers increasing, so your computer science skills will be put to good use.

I'd major in computer science and minor in any field that interests you.
posted by Korou at 8:06 PM on July 3, 2008


Hey there,
As a CS/Psych double major, I feel like I might have some useful input:

Short answer:
Yea!

Long answer:
Psychology is fascinating, but an undergraduate degree is largely worthless. However, I firmly believe that a strong knowledge of psychology can be very beneficial is just about any career.
Computer science is equally as fascinating, albeit in a different way. Unfortunately, the career paths you mentioned are what CS majors can typically follow (however, I've made it my goal not to get sucked into 9-5 programming for my entire life). Fortunately, you mentioned that you want to make a difference in people's lives, and CS is an excellent way to do that. You might not be impacting and interacting with people in 1-on-1 situations all the time, but the mere fact that we're communicating via computers says a lot about how some computer scientists have changed the world. In regards to your math skills, the math that you learn as CS major is much different than what you learned in high school. My courses have been over things such as symbolic logic, graph theory, and linear algebra, which, in my opinion, are much more interesting than calculus and differential equations.
Also, many many many computer scientists have awful awful awful people skills, so someone like you who values human interactions can be very valuable.
And as always, your major in college does not define your career path. Do what you love.
posted by comwiz at 8:12 PM on July 3, 2008


Computer science is a good step in getting any IT job you want. Keep in mind that computer science taught in uni is almost entirely math-based; 40 years ago, CS departments were usually subunits of mathematics departments. I failed to grasp this concept. I am the creative programmer, the Craig Newmark-type that loves the development process without regards to concrete numbers. I went into CS thinking there was a place for me. There wasn't, and I hated every minute of it. I didn't have the money or time to find a better academic path.

Before you jump in, make sure you are willing to pick up all sorts of maths you'd never have imagined before. Some are interesting (DiffEq), some are just cruel (group theory). If you're a more practical person like me, you might find yourself bored and/or dehumanised.
posted by spamguy at 8:34 PM on July 3, 2008


What careers are available to computer science majors besides database administrators and obviously being a programmer? I'm female by the way, if that is relevant.

"Computer science is no more about computers than astronomy is about telescopes.", if I may quote Edsger Dijkstra.

There's a lot more than just programming to CS. There is a strong design component, and in this sense the computer scientist is more like an architect than a carpenter. There's also a strong theory component: I know lots of CS people who do very little programming, but this takes strong math skills.

There are lots of opportunities for women in CS, especially if you go to grad school being female will work in your favor for fellowships.

I'd heartily advise you to take a few CS classes in different areas -- take the programming class, but also take an algorithms class and an introductory game theory class.
posted by qxntpqbbbqxl at 8:49 PM on July 3, 2008 [1 favorite]


You seem to be falling into the common trap of thinking that a career through college means doing what you majored in. Except for engineers and business majors, this is rare for undergraduates moving directly into employment.

Majoring in psychology doesn't mean that you expect to be a psychologist or do psychology. It can also mean that you expect to do some as-yet-to-be-determined work for a large corporation or government entity that will probably have exactly fuck-all to do with your psychology classes.

Likewise, as a fresh BA looking for employment, essentially nobody gives a shit that you know a whole bunch about abnormal psychology and cognition and wrote a thesis on developmental psych. People care, instead, that you've demonstrated that you can sit down with a big fuck-you pile of books and get the necessary learning done, that you can sift through a vast haystack of bullshit to find the needle of real information you need, that you can communicate that information, and that you can work on long-term projects without saying "Fuck this for a game of soldiers" in the middle of it.

Presumably your school has a career center or similar; talk to them about how to start setting the stage for post-graduation employment no matter what your major is. You want my advice about what to major in, pick something that you like or tolerate well enough to put in the work to do really well at.

None of this means that I think you should major in psychology and not CS. I don't know you from Adam's housecat. But you might as well make the decision on better grounds.
posted by ROU_Xenophobe at 8:54 PM on July 3, 2008


I'm a CS grad, been a software programmer/architect for over 10 years, and love it.

The best programmers I know are universally "good with people"... they're not pasty, pocket-protector-wielding sociopaths. Those are outdated stereotypes that were never very accurate anyway.

The best code written is generally regarded as that written for people, not computers. And increasingly, software weaves itself into the social fabric of our lives (MeFi, FaceBook, etc.).

What I'm saying is that your concerns about being "solo in front of the computer for the rest of your life" are largely unfounded. Frankly, there aren't many "programming" jobs anymore... there are mostly software development jobs that usually involve less time at the keyboard than you might think.

To me, you sound like the ideal candidate... likes computers and likes people. Being female will (mostly) help you... you'll meet the occasional sexist jerk, but programming is generally a meritocracy. If you're smart and get things done, you'll do well.

And considering the ubiquity of technology in our lives anymore, you'll find something that can "make a difference", if you're so inclined.

Nothing wrong with a psych degree, assuming you want to continue with graduate work, or you simply don't care about being very "marketable". YMMV.

Good luck!
posted by jplane at 9:26 PM on July 3, 2008 [1 favorite]


what careers are available to computer science majors besides database administrators and obviously being a programmer

One thing I wish now that I had understood "then" was that CS is a very fun thing to teach, especially at the college level, where it's a particularly cushy gig.
posted by yort at 9:35 PM on July 3, 2008


I have always loved computers, and considered studying computer science in college. I first tinkered around with Linux when I was 14, loved working on the command line, and created websites with html and php.

Good!

However, I abandoned that goal as I wanted to do things that make a difference in people's lives

Oh come on!

Social life : Facebook
Environment : Climate change models
Medicine : MRI image reconstruction through particle models
Civil engeening : Model of city growth and behaviors
Business : On-demand, real-time distribution
World peace : World-wide activism against genocide coordinated on the Internet

There hasn't been a discipline that impacted how people live as deeply as computer science. This is the information age for a reason.

and work with people, not mainly by myself in front of a computer.

My favorite part of the work as a programmer is the team work. All serious programming is done in teams. I formed many deep, life-long friendship with people I shared interesting projects with. I love that. Coding isn't as solitary people make it out to be.

You will spend a lot of time at the keyboard though.

I also haven't been that great in math, and that might hinder me from exceeding in a computing field.

Computer curriculums with less math are sometime called "Software Engineering." They replace the math with project management courses and business stuff.

But - what careers are available to computer science majors besides database administrators and obviously being a programmer?

If you are good with people, after a year or two of coding experience you will be moved to a team leader position, or project management (PM). Then it will be all about mediating technical decisions amongst your team mates, and not much coding. One of my outgoing friend got a PM job at Microsoft right after graduation.

My personal opinion: psychology is a terrible choice. It's the default choice of people who don't have a carrier plan beyond "I like people." So it has lots of students who don't have a reason good to be there, and way more graduates than the market can hire. People in CS, on the other hand, are intensly passionate about what they do. The fascination you had with Linux never disappear.
posted by gmarceau at 10:00 PM on July 3, 2008


If you really dislike chem and don't like bio, the crossover range for psych & CS shrinks quite a bit. There is, however, a strong push in behavioral economics, which will eventually need a lot of computation. I don't know if finance has any interest for you, but you may be able to take a psych angle with a quant position (though that'll be a long way down the road for you).

Programming skills, more than CS, is really what is useful in a (non-techie) lab. By in large you won't be asked to come up with a creative database; you'll be asked to automate a set of tasks that they've been doing by hand for the last 3 years because no one before you knew programming. You'll be asked to write a GUI for some study. You'll be asked to write a converter from one data format to another. It can be satisfying (because everyone in the lab is using your tools, and if they're good enough, other labs will adopt them as well), but its not really enough to justify a CS degree IMO (whereas there are real theoretical issues in bioinformatics and genomics for which a CS education would be incredibly useful).

In an engineering/physics/chem lab, many people will already have a language or two under their belts, and a CS/math person to manage large data sets & come up with new algorithms for analysis becomes a lot more useful, but this doesn't really seem like the direction you want to go in.

Also, try out research before you decide that's what you want to do. Research is a slough. Its tougher than most people realize. Spend a significant amount of time in a lab before you decide its where you want your life to go and start barring yourself from other directions.
posted by devilsbrigade at 10:13 PM on July 3, 2008


If this wasn't clear from my post: the Dijkstra quote is accurate. CS as a field is fascinating stuff, but its largely theoretical. If you want to mess around with linux and programming, that's great, and they're both incredibly valuable skills to learn. There are branches of CS that deal more with design than with theory, but even this won't do you much good directly. Learn programming on your own, learn linux on your own, & spend college learning the stuff that you really do need to be taught.
posted by devilsbrigade at 10:23 PM on July 3, 2008


I have a BS in computer science and I'm working on my PHD in the same area. The bulk of my work involves making a computer simulation for training medical residents to do temporal bone surgery. I wouldn't say I work with people, but communicating with surgeons about what is important in the surgery is an important part of the job. I certainly feel like my work can be used to make a difference in people's lives.

Some of the more interesting psychology-computer related research I have seen recently involves creating virtual worlds to combat PTSD. Having knowledge of a science domain field (like chemistry, surgery, psychology, etc.) and the tools to make a computer program to help people in that field is a valuable combination.
posted by demiurge at 10:39 PM on July 3, 2008


One more thought: There are two kinds of computer scientists. The first kind like computers for their own sake, as the fun puzzles that they are, ever changing and endlessly fascinating. The second kind like computers as a mean to an end. They see how the computer can change the world and they want to participate.

I think you may be the second kind. Which is why you won't be excited about doing databases, until you know it is a database of whale songs that your teammates are using to decode to whales' language.

Here some links that come to mind.

Don't make me Click, a talk by Aza Raskin, Interface Designer for Firefox (His company is hiring)

Center for Computational Psychology, University of Chicago

Unlocking the Clubhouse: Women in Computing, By Jane Margolis, Allan Fisher
posted by gmarceau at 11:16 PM on July 3, 2008


Finance.

Your background sounds ideal to get a job in finance. And it's especially fortuitous you've got an interest in psychology.

Lots of money is being poured into an area known as Behavioral Finance, and folks operating in that space not only need knowledge of (what a surprise) finance, but also computer science, maths and psychology.

Behavioral is a strong growth area now, and probably will be for a few decades.

The reason why is simple - on average, over the past four centuries we've seen asset bubbles about once a decade, and still, in spite of all the economic damage and attention and hand wringing after the fact, we simply don't know why they arise. The economic answers we all too frequently hear ("too much money" or other simplistic variants) don't really address the basic, underlying questions of why previously rational market participants engage in highly risky behaviour. The housing bubble is a classic - everyone knew houses were overvalued, but folks couldn't help themselves. Good money followed bad, the pyramid grew higher and higher until its collapsed. This was a very, very visible bubble. But bubbles appear about once every ten years or so, and sometimes simultaneously, when we look back a few centuries.

This is a very, very large area of research that's finally starting to see some serious funding, and it would seem that you'd be in the right place at the right time.

Of course devilsbrigade's point is valid - you've gotta have an interest in finance. But who knows? I teach finance part-time at a University in London and it's very common for someone to take what amounts to an elective and find out - their own surprise mind you - they've got a passion for the subject.
posted by Mutant at 1:19 AM on July 4, 2008 [2 favorites]


I went slightly the opposite route - started out in computer science with a few classes in psych, and wound up flipping them to become a cognitive science major with a computer science minor. If you've got both interests I'd definitely recommend looking into cognitive science. I've gone the research route with it, so I don't know what other options that degree tends to lead to these days,but it's worth an exploration.

HCI looked fascinating to me with that background too, but the program I really liked was a grad school program and I have felt no urge to go to grad school, ever. Definitely could be a good fit for you, though.

For whatever it's worth, I've found that as a researcher in various aspects of psychology, it's been absolutely invaluable to have that computer background. It's been years since I actually programmed, but being able to think like a computer scientist has come in handy countless times. At least in my current position, I tend to find myself translating a lot between the research people and the database people, as I am one of the only people who speaks both languages.
posted by Stacey at 1:47 AM on July 4, 2008


A quick datapoint for you: I was originally a Psych graduate, then studied Ergonomics (for which Psychology is a good starting point). I then spent a decade working in R&D for a large telco: starting off with evaluating UIs (lots of working with end users) and gradually getting more interested in hands on design. I then took yet another qualification in "Design for Interactive Media" and these days make my living as software developer - working with a large number of people who started out in CS.

You asked about types of jobs and careers that might work for you. Here are some quick suggestions:

Ergonomist/Human Factors specialist: Probably after a postgrad degree. Running usability studies, working with development teams, creating prototypes.

GUI Designer/ Interaction Designer: The more traditional GUI designer has probably started in CS; Interaction designers tend to have a more artistic background and will know about graphics, narrative, etc.

Researcher/ Programmer. Have a look at some of the stuff going on at MIT's Media Lab for a number of examples of what people with a good knowledge of Psychology and programming skills can get up to.

IT Generally: There are loads of positions where a combined knowledge of code and people would benefit: as a developer, as a customer relationship manager working for IT developers or as a Project Manager for example.

Digital Marketing: Working either for a web-based business or for an agency serving them. You have to understand web technology and user behaviour.
posted by rongorongo at 4:25 AM on July 4, 2008


I wanted to do things that make a difference in people's lives and work with people

So, you´re saying you don´t want to go into computer science, since that field could never produce anything that would help people and make a difference in their lives -- such as a forum where people could ask questions of a community about important decisions in their lives, like what they should major in, or what their eventual career path should be.

Oh, and there are a few other things besides metafilter where people have made a big difference in people´s lives by writing code.
posted by yohko at 6:44 AM on July 4, 2008


I am a female computer science undergraduate, and I am temporarily working for my universities branch of "Women in Computer Science and Engineering" so I get to answer questions like yours a lot. (Mostly to much younger kids though - I teach young girls about Computer Science in workshops and schools).

First off, do not doubt that you can make a social impact in the field of computer science. According to the research I've read, that is one of the primary concerns of women, and it is a great misconception that you cannot have a social impact with a CS degree.

You mentioned you were interested in research, and really, there is a lot of that going on. Programming is not the be all and end all. I like to think of programming as your major tool - we use programming to solve problems. Problem solving is really what being a computer scientist is all about.

There are branches of study that examine artificial intelligence, human computer interactions, graphics, algorithms (mathy), music, networking, and more. Check out your universities website and see what research groups are studying in your CS department.

At my university we have something we call 'combined degrees' where you are studying computer science and something else. Some examples are computer science and psychology (they really do fit well together as a double major), music, geography, health information sciences, physics, visual arts... the list is kinda big. Computer science can be applied in pretty much every field, and if you really like psychology and CS, double it up.

As far as what kind of jobs, find out if your university offers some kind of co-op or workstudy program. That's a great way to get into the field and see what kind of work you would like to do while you are still a student. (For example I am on a co-op work term for the entire summer, and will go back to classes in the fall). I have a female friend who is writing software that allows a variety of differently-abled (man, I suck at being PC) individuals to use a non-traditional keyboard. Super socially relevant, and from what she has said, fun and rewarding work. She gets to work with the end-users for testing purposes, and the experience has been very positive.

And last, there IS a serious deficit of computer scientists. Currently at my university, the CS students are on average the highest paid on campus. Companies, governments, and research groups are scrambling to get students to work for them. Now is a good time, career wise, to get into CS.
posted by billy_the_punk at 4:06 PM on July 4, 2008


For the love of god, yes, you should go into CS. Decent psych majors are a dime a dozen compared to decent CS majors, and you will open far more doors with that CS degree. As everyone here has said, "programming" is a means to an end in CS, the end being a huge variety of things. Also you can really make bank doing it if you want to, and there is a massive shortage of CS talent out there that is not going to get filled anytime soon.
Here's the one thing I will say: if you try HCI and love it, by all means go for it. But don't feel like because you're a woman that has an interest in people and also CS that you have to like and be good at HCI. I feel like women get steered towards that area disproportionally, perhaps because it seems softer than other areas of CS. Also don't let yourself get intimidated out of the "harder" areas of CS (systems, algorithms, architecture) because you think they're most likely to get you stuck as just a programmer for the rest of your life (or, you know, because they seem hard). In my career I've worked in a lot of different areas of software development (high tech, scientific, financial) and the base knowledge you learn in those classes is incredibly useful even if you end up doing something seemingly totally unrelated.
posted by ch1x0r at 11:16 PM on July 4, 2008


The practice of designing computer software and systems can be very fun (whether on the job or on your own projects), but the study of it in universities is mostly math-based. When the field was developed 40 years ago, it was considered a branch of math, and computers were mostly used by scientists. Today, while it's useful to know such subjects as algorithms and discrete math, unless you're doing research or working on low-level software or operating systems, it is much more of a people- and design-oriented field. Some colleges have programs that touch on both sides of the field, rather than just math and algorithms (I believe Stanford and CMU let you major in HCI, and CMU has a program in video game design) Some computer science graduates are "math and logic puzzles" type of guys who otherwise would have been mathematicians, and others are more "creative, system builders" who could have easily gone into graphic design, architecture, or entrepreneurship. The founders of Google exemplify the former, and the founders of 37signals exemplify the latter type. You can succeed as either one, assuming you find the right fit. It also offers the greatest variety of working conditions. You can choose to work at almost any type or size of company, as a freelancer, at a startup, or for yourself. The fact that you are female and understand psychology is likely to be an asset.
posted by lsemel at 2:59 AM on August 23, 2008


« Older where to go to get my hair ripped out?   |   Should we press charges against a kid? Newer »
This thread is closed to new comments.