Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm torn between two classes right now for next semester (Software Design and Advanced Computer Graphics). I would enjoy Advanced Computer Graphics more, but I feel the software design class would help me when approaching anything I ever build for the rest of my career.

I feel though I could just buy the book (I already have both books actually) of the Software Design class and go through it, if I wanted. But think it would be a bit tougher to pick up the Advanced Computer Graphics class on my own.

So do employers look at the graduate classes you've taken to decide if you would be a good fit or not?

I think, more importantly, what I'm wanting to know is if I wanted to work for a high-end software company like Apple or Google would a company like that be more impressed by someone that took software engineering classes or hardcore CS classes?


migration rejected from stackoverflow.com Jul 17 '13 at 2:24

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as primarily opinion-based by MichaelT, gnat, Kilian Foth, Dan Pichelman, GlenH7 Jul 17 '13 at 2:24

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

My personall recommendation as a student in not-too-distant past, and someone who participated in interviews - follow your passion, take more "core" classes rather than fuzzy ones. After coding for 3 years you will learn more on the job than you can possibly get out of the Software Design class. While the same can be said about 3 years of game programming in regards to advanced computer graphics, this will one be true if you land a job in a game industry, while general coding skills will improve regardless. Think long-term. You will probably try to gravitate toward what you enjoy, so graphics. –  Job Feb 24 '11 at 20:47

18 Answers 18

up vote 7 down vote accepted

IMHO, this is the order of likely attention someone would pay to your resume:

  • Whether you have a graduate degree (MS good, PhD bad)

  • Whether you have any industrial experience outside the degree and the internships. More schooling can be a red flag if there is no experience. Good programs often demand some prior experience.

  • Which school and program it is. This is critical - For example, Carnegie Mellon has a prestigious Masters of Software Engineering program, and then a bunch of "extension programs" in collaboration with other universities and in other countries. Employers distinguish between them.

  • GPA.

  • The amount of practical experience or work with companies while in the program.

  • Courses are less important, and many employers only look at the GPA.

You are from CMU, so you must be biased. I personally would look at courses if they were listed, but only if the resume is no more than 2 pages. I know this because some of my classmates (bachelors degree) took the bare minimum, easy ones, while others put their GPA on the line and took graduate algorithms and compilers. Someone else took 10 credits worth of volleyball, swimming, tennis, etc. - all with As. Same goes for 4 summers worth of random extra "gen ed" classes which boosted his GPA a great deal. Another friend got a GPA was 3.9 due to amazing memory. Perhaps MS GPA is hard to inflate. –  Job Feb 24 '11 at 20:56

As with most things in life, this is a firm maybe in that it depends where you are in your career and what sort of job you are applying for. If you are just starting in the work force and interviewing with a company that is looking for someone that will be writing a lot of graphically oriented code (i.e. a game company) than saying that you have had graphics courses a long with a some higher math course (e.g. liner algebra) would give you an edge over someone who took, say, robotics instead. However, if you are interviewing a a company that is going to have you writing a lot of business logic or accounting code then someone that has a minor in business or accounting would have an edge in the interviews.

Once you get past that initial first job though, employees are going to care more about what you were doing at your last job than what you took in school a couple years ago. The only exception to this might be if you want to move from a job where you are doing mostly business logic to one where you are writing that graphics code in which case the class might help you prepare a demonstration to impress an employer.

At the graduate level I have found that they only care about classes if they are looking for a very specific background (e.g. bioinformatics) in which case mentioning the class could get you an interview if you weren't doing that at your last job.

Agreed. I would like to add that I'm sure interviewers would like to hear about what courses you were excited about in college, versus what you did because you think you had to. Especially if it relates to the field, like Rob said. –  Jeremy Heiler Dec 14 '10 at 16:29

Do you list the classes that you took on your resume? No? Then how would they know?

I certainly listed pertinent classwork for each position I applied for on my resume. Why wouldn't you? –  justkt Dec 14 '10 at 16:34
@Joe: take both –  Steven A. Lowe Dec 14 '10 at 16:56

tl;dr: Take fascinating classes while you have the chance. If that means that you take a graphics class instead of software design, learn software design fundamentals on the side and apply them to your graphics project work.

Longer answer:

Rebutting Uri's answer, here are points that I use when I am reviewing resumes and interviewing candidates:

  1. Do you have a degree in anything? What level of education? What will we talk about in regards to this degree? B.S. is the basis, M.S. is desirable, Ph.D. leads to a different level of interview and the potential for the highest pay. So, from the point of view of the applicant, the Ph.D. has the highest value.

  2. What experience do you have and what would that bring to my team? School experience can apply to a junior person as we can talk about a particular project and draw parallels between what we do.

  3. I don't care at all about your school other than as a discussion point. Why did you choose that program? I chose my graduate school because they offered me full financial aid and a fellowship. That has certainly worked out for me in the long run.

  4. I don't care about your GPA except for really crazy numbers. Lower than 2 would indicate something very strange. 4.0 would lead to the question of "why didn't you take any hard classes?"

  5. Your ability to talk about the aspects of your work that map to industry software activities. Did you use version control? Did you work in teams? Have you ever written a spec for another person? Have you ever had to work from a spec?

  6. Courses are critical. Do you have a fundamental understanding of data structures? Algorithmic complexity? Can you do math? Have you taken a compilers class? Why did you take the classes that you did? Can you talk about what was hard / important in your classes?

Here's the punchline to my resume evaluation process (which is going to sound a little mean):

If you tell me that you learned about software engineering in school, I am not going to believe you.

Technically, it's possible that you learned everything you need to know about working with a team on large scale, multi-year projects. If that's the case, you're going to have to convince me. Here are some of the questions that I'm going to ask:

  1. What is your practical experience (in school or out)? What have you made (see the fascinating courses recommendation at the top)?
  2. Why do you need a spec?
  3. What is feature creep?
  4. How would you estimate a software task?
  5. Did you allow for independent testing time in your estimate?
  6. What happens if a higher priority case appears on your list?

Point one above is the critical issue: if you can make it past that, we're going to have a great talk. If you've only learned the mechanics of software engineering rather than the practical aspects, our talk is going to be rough going.


During an interview if they ask you, "Do you have any experience with graphics?" you could bring up the class. After you've been in the field, they'll usually want to hear about hands-on experience and not coursework and/or certification.

Sounds like your preference is to use a class for subjects that are not as easy to pick up on your own. Makes sense. If the professor teaching the Software Design class is a notable member in the field and you've never had her in a class, you may want to rethink. It's not the ones who get good grades in graduate school, it's the ones that get the better recommendations by the more influential staff members.


Speaking from my own experience, employers never looked at the classes I took in my MSc program. They only looked at my resume and cover letters before deciding to invite me for interviews. MSc helped me in getting past HR quicker though. Other than that it was up to me to prove my knowledge and skills during the interview process. If you say you know something, you better be able to prove it in an interview, the fact that you took some classes proves nothing. Someone may take classes and even get good grades in them, but still know absolutely nothing about how to apply things in real life.

To answer to your last question about wanting to work for a high-end software company, I think they will be more impressed with the skills and abilities you demonstrate during your interviews rather than a class list on a piece of paper.

I look at them when I'm reading resumes –  MarkJ Nov 15 '11 at 12:24

I know schools where the software engineering classes were considered light and fluffy and what people did to get an easy A. I know schools where the software engineering program was far more rigorous than the computer science program and heavy on theory, theorems, and proofs. The people who knew those programs and those schools cared quite a bit about who came out of what program, seeing {SE|CS} as {laziness|eagerness to learn} depending on their perception. To the graduates of your school, it might matter.

Beyond that, your resume needs to demonstrate that you meet the criteria of the job to get you an interview. In your interview you need to demonstrate knowledge and passion. Take what you think will excite your passion, give you knowledge, and help you most in your day to day.


Do what you love, and the money will come

When I'm interviewing, I ask about what people know and what they can do, not what classes they took. I've interviewed plenty of people who have taken classes and can barely even tell me what the classes were about.

So if you're interested in computer graphics, go for the class. You're a lot more likely to impress an interviewer with something you're interested in than something that was "good for your career" but bored you.

Also, if you want to do CG, it's not really that hard to get into. Just write some cool demo programs, or work on a related open source project. Putting info about my CG experience in my LinkedIn profile has generated lots of recruiter calls.


The only questions you might get will be "what was your favorite course?" or "what was your hardest course, and what did you learn?"

I'd bet you will never be looked down upon for choosing the graphics course.

I've never been asked about any course I ever took.


Honestly the company that hired me didn't even look at my classes, they wanted work experience. They did ask my GPA and It's not very good.....but I think they were just making sure it wasn't awful (my gpa really is average at best)

but I still got hired and it's a fortune 500 company.


In the general case, no; however, the courses that you take in graduate school can help you to get a job if you explicitly mention then in relation to the job you are applying for. If you have been writing web applications for a long time and want to make a jump over to embedded systems you can list the relevant graduate courses on your CV or cover letter and someone might take a chance on you where as if you don't mention them you will just appear to be a web developer and could have a hard time getting an interview, let alone a job.

Note that as Mark and Bob Cross point out, this is context dependent so it is hit or miss and very dependent upon what you took and the job that you are applying for.


I personally look for people who took the hardest classes possible. If someone left their department without seeking the biggest challenges, perhaps they will do the same at work.

If people choose courses for interest rather than challenge, I expect them to go deep on the projects.


I don't think Apple and Google are going to judge you by the courses you take. They will thoroughly take your interviews and then decide.


Depends on what type of job you will be or already looking for. If you want to be a database designer or web applications developer, software design will be a better choice. But if you will be looking for jobs that involve developing games or develop CAD software, then the computer graphics course will be better. Hope this helps in making your decision.


If you want a great career with options, the most important thing is to stand out. Lots of people take SE classes; lots of people take Graphics. How can you stand out from them? The first criterion is passion. If you enjoy graphics, maybe you should specialize in that area. Do new research or develop a unique algorithm. Approach someone in the computer graphics industry and ask them about interesting unsolved problems. If you solve one for them, you have a job, and suddenly you're the expert in that area.


To be frank I think the single thing that a potential employer is most interested in, is "did you graduate?". The difference between "reached my goal" and "had to drop out" is so important, that this is the single most relevant metric.

The actual classes is less relevant, as you have demonstrated you are capable of learning by taking your education, so I would suggest that you take the ones you think are the most fun. This will also mean you learn more, and generally be good for you.


No employer will know which optional subject you took unless you say it in the CV. Emplyers rarely look at your optional subject. If you love graphics go for it without batting an eyelid. Graphics involves a lot of practical stuff which you cannot learn by simply reading a book. Software Desing is more about principles and is less dependant on practicals. IMO it is better to take Grahics now and study software design on your own.


In graduate school most people get A's and B's or get out. Recommendations from professors you've worked close with are what counts.


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