Tell me more ×
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?

share|improve this question
4  
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
This is such a good question, since I have the same doubt. And I were told that in reality it doesn't matter but since it were my profs who said that, I don't believe that so much. – Coyote21 Feb 25 '11 at 0:25

migrated from stackoverflow.com Feb 24 '11 at 19:54

12 Answers

up vote 5 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.

share|improve this answer
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
I agree with Job. Number one is whether I think I can work with this person for the next several years but after that: When I interview new grads the GPA and the school are most important; then which advanced classes they took are next important. Work experience only matters if it is directly relevant to what they'll be doing for me since I want them to do it my way and not some other company's way. – Dunk Feb 24 '11 at 23:59
@Job, why would being from CMU make me biased? My experience is that course names are so general (e.g., Data Structures, Algorithms, Software Engineering, Intro to AI, Project Management) that they tell you little about what the student actually learned. – Uri Apr 22 '11 at 17:39
@Dunk: You can't always tell much from titles. My advanced courses (in a software engineering program) included: "Software engineering methods", "Models in software engineering", "UI Software engineering", "Software Design". "Software verification". What do I really know ? :) – Uri Apr 22 '11 at 17:42
Why "PhD bad"?? – quant_dev Mar 19 '12 at 9:22
show 3 more comments

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer
Judging by your grades, perhaps they didn't care about your classes because you obviously didn't learn much in them? – Dunk Feb 24 '11 at 23:51
I often knew more about programming and the overal material in other engineering courses then the students that got A's in them without much effort. The grade isn't that important, it often does not indicate the true level of understanding of the material itself. I often could finish a project in 75% of the time as a student who got an 100 on the test because they would simply memorize all possible material just until the test happen where I would understand the material and could actually apply it to a problem I just didnt know every single term. – Ramhound Apr 22 '11 at 17:47

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.

share|improve this answer

I know of an interviewer where the person is looking for a CompSci degree just to know if you have the ability to learn what they want you to do. After that it was about the personality of the person to see if they could work with the existing team.

share|improve this answer

I agree with LWoodyiii. In my experience both hiring and being hired, employers really only care about specific classes if that class was both taken recently (within the past 1-2 years) and relates directly to the project for which you are being hired. Given your example, if I was hiring someone to work on improving algorithms for a rendering system, the advanced graphics class would be a big plus. For just about anything else, it would not matter.

I would recommend you take the classes that get you the most excited and will give you the most interesting projects. You can then take that excitement and interest to interviews, and that will very likely mean much more to your future boss than whether it was a graphics or design class.

share|improve this answer

No.

They care about your experience with relevant technologies.

share|improve this answer
When trying to hire people for permanent positions, I don't care at all if the candidate has any experience with my current technology. – kevin cline Mar 19 '12 at 4:26

I think most employees are going to look more at what degrees you have, along with your real-world experience.

So I think it could make a difference whether you learned from a book or formal training, but I can't imagine it matter which classes you took to get your degree.

share|improve this answer
The thing about it is that Software Design is kind of unique because you actually "should" be doing some design on every project you do while in college. – Bob Dole Dec 14 '10 at 16:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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