Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I am student pursuing Bachelor of Technology in Electronics and Communication at my university. While pursuing my course, I started to work on some projects related to CS. Computers being my favourite from the very foundation, I kept on working on towards my passion for these three years winning some awards, writing a paper, doing projects etc. I am currently in fourth year now and I am thinking to totally switch my branch to CS for masters.

I always work to build innovative solutions to problems like software for disabled, something for education, or be it software for environment etc. There is no certain subject for solutions but innovation and novelty is certainly what I yearn for while scheming inventive solutions. The problem is that I am not able to find the correct path to go for the masters i.e. the diversification of courses is taking a toll. Mostly, there are HCI courses in universities which focus to build these innovative solutions but, I was trying to parallel MS in CS & MS in HCI. There looks like more of a focus on drawing/arts type if thing in HCI which I don’t want to go ahead with but what I do want is building up creative solutions with technical ingenuity.

A person in HCI also has all the same technical skills as that of a CS student, then where does the difference arise? Let’s say as a very odd example, can a HCI student apply for SDET positions for example at a big firm, instead of User Experience Design etc. since he is having the same skill set? Or, in terms of monetarist paybacks, is there a difference between salaries of CS graduates and HCI graduates?

I do not want to remain as an interaction designed submitting just on-paper designs of things. I do want to surface with more imaginative ideas.

At the current stage, what’s stopping me is that I am a little lesser than the technical knowhow as compared to a full time CS student since I put in the effort for all the CS prep myself (being a non-core CS student). I presently need to learn more about CS at a reputed place while pursuing these projects. So, is it really HCI that I should be going for or is there is some other contour that I haven’t given a thought to? Please help me out.


share|improve this question

closed as off-topic by durron597, gnat, Snowman, GlenH7, MichaelT May 15 at 1:00

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – durron597, gnat, Snowman, GlenH7, MichaelT
If this question can be reworded to fit the rules in the help center, please edit the question.

Personally I would advise the HCI route, but it's also what I took. I would strongly suggest having strong HCI knowledge regardless though if you're going to design any sort of system people interact with. We have precious few programmers and designers that properly understand and design for the human element. – Ben Brocka Sep 17 '11 at 20:48
This question seems to be either a bit too broad or too localized to me. Too broad since it looks like generic career advice (rather than programmer specific) will suffice, and too specific, since program and course details change too much from school to school for us to be able to give good advice in this instance. – blueberryfields Sep 18 '11 at 4:43

2 Answers 2

up vote 4 down vote accepted

I'll use Georgia Tech as the example here because it's what I'm familiar with. You'd essentially have 4 options for a Masters in CS/HCI at Tech.

  1. Straight CS, no Chaser. This is hardcore CS: proofs, research oriented, lots of emphasis on algorithms and mathematics. Advanced Graphics, Deductive Databases, Grid Computing all tend toward this. Also includes truly formal CS like Halting Problems and Complexity set problems.

  2. CS: Software Engineering. This is CS for the practical set, those who don't want to be researchers or go on to do a Doctorate. Emphasis on practices, modeling, and efficiency across projects.

  3. HCI. This is the track that gets you real "HCI", where you do all kinds of stuff with Computer Vision, Build gloves that manipulate virtual objects, Hack Kinects, and wire up mind-machine interfaces. Embedded Systems meets AI and User Design.

  4. Digital Media: This is the artsy path. Media criticism, digital production and design, CS + Industrial Design with Post-Modern Sauce.

  5. There are a couple of other ones like Information Security and a Hardware track but I'll leave those out.

The trick is that some schools (Tech) call option 3 HCI, others call option 4 that. So while I'd call you an HCI at Tech, you might fall into other categories at other institutions depending on how "hard as in science" their HCI program is.

If you are from a "hard" HCI program, you will be equipped as a specialized for analyzing and responding to user needs and psychology as well as building such systems. You wouldn't be CS per say anymore but you might find this for the best anyway. HCI is much more "hands on" in many ways that other grad level computing disciplines.

share|improve this answer

Look at the course load, and course projects and work. Pick the program which will push you to learn how to do the kind of stuff that you're interested in doing. If the CS program at your university doesn't offer what you want, but the HCI one does, go with that one.

If the job you're interested in relies on your education, then the degree will count towards it. Most likely, the jobs that won't accept you because your degree shows the "wrong" credentials are the jobs you won't want to have.

Since you're interested in building innovative solutions, go for the degree which supports and encourages that. Build yourself up a portfolio of solutions to show to potential employers, and make them as public and as visible as you can. When looking for work, look for work which continues where your schooling left off, or, at least, builds on it. Don't worry about your salary so much at this point. If you do good, public, work, then you'll gain both the confidence required to negotiate a good salary, and the publicity required to be in demand when you graduate, making it easier for you to both know what you're worth, and be worth more money. Heck, if your work is good quality and public, you might already be earning a nice income before you graduate, and you might not even have to look for work.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.