Jump to content

2nd bachelors vs Masters for a non-CS major looking to break into industry


billrach

Recommended Posts

Hi, so I know there are many 2nd bachelor's vs MS threads.  But I was wondering, if my only goal is to get a software engineering job, which is better?  Assuming I have no interest in doing research or pursuing academia, which is better? 

 

I didn't major in CS as an undergrad, and I haven't taken any CS courses.  (I have taken a few coursera courses though). 

 

I know that if I were to do an MS in CS, most programs would have me make up undergrad coursework.  I'm thinking that this would be the same time as getting a 2nd bachelors.  

 

I'm not sure how the price would break down.  MS is normally more expensive, but I would get no aid for a 2nd bachelors.

 

One last question, I've seen a lot of job postings that state 'BS in computer science or equivalent'.  Would an MS in computer science without a BS in computer science satisfy this requirement?  Would getting an MS prevent me from applying to entry level positions?  I think I would have to apply to entry level jobs since I have no relevant job experience.

 

Thanks  

Link to comment
Share on other sites

Here's the thing about computer science... In school, you learn how to be a scientist in an academic setting. Employers are looking for engineers who can get work done in an industrial setting. It's common to hear stories about newly hired PhD's who don't know how to program. I've known several software engineers who earned degrees in something other than CS. Computer engineering is a common source, as are mathematics and electrical engineering. I've met successful software engineers who earned their degrees in criminal justice or art.

 

The majority of the skills needed to be a successful software engineer are things learned outside of a classroom. My personal experience has been that only 20% of what I use in software engineering is a result of something I learned in a classroom. Don't get me wrong -- this is an important 20%, and you won't be able to be a top-notch engineer without a reasonable theoretical understanding of what you're working on.

To answer some of your specific questions... An MS is better than a BS. If an MS takes longer, you might want to get a second BS... or not even get a second degree. An MS in CS will serve as an admission voucher for the software engineering industry... but a proficiency with code and an art degree can also be sufficient. If you can demonstrate that you're a good engineer, you'll get good job offers. An MS will not prevent you from applying to entry level positions. An MS won't give you much of a head-start over someone with just a BS, however.

Link to comment
Share on other sites

Thanks so much for your reply D3veate!

 

I was wondering though, do you think someone completing an MS in CS would have any holes in his knowledge?  Would I miss out on any of the foundations and fundamentals that are taught in a BS program?  For example most MS programs don't include a data structures course.  And most MS programs are only about 10-15 courses, whereas a BS generally requires more courses.

 

Would an employer ever think that someone with just an MS in CS would have holes in his knowledge?  I know data structures is very important for employers.  I'm sure I can just take an undergraduate Data Structures course though.  

Link to comment
Share on other sites

Data structures is certainly something you'll want to brush up on. There is an excellent chance that an technical interview you do will focus on two things:
 

  1. Do you know how do use your language of choice?
  2. Can you reason through basic data structure problems?

Another key difference is that some employers want to know your grade in compilers; this is a subject that isn't directly used by a lot of software engineers, but it's a universally difficult class, and the grade in that class gives a decent idea of whether you can handle large projects. This is particularly important because most class assignments are short, write-and-forget type programs. If you do a masters program, you should be able to point at something equivalent. If you can put a decently sized program on github, then employers won't need to look at your compilers grade to get an idea of whether you can handle larger programming projects. Of course, you can always take compilers as a graduate student.

 

The wonderful thing about software engineering is that everyone has holes in his or her knowledge. One of the items on the ACM code of ethics gives some guidance on this; a professional software engineer should always strive to acquire and maintain professional competence. Identify your weak areas and make a constant effort to improve yourself.

Link to comment
Share on other sites

  • 2 weeks later...

Data structures is certainly something you'll want to brush up on. There is an excellent chance that an technical interview you do will focus on two things:

 

  1. Do you know how do use your language of choice?
  2. Can you reason through basic data structure problems?

Another key difference is that some employers want to know your grade in compilers; this is a subject that isn't directly used by a lot of software engineers, but it's a universally difficult class, and the grade in that class gives a decent idea of whether you can handle large projects. This is particularly important because most class assignments are short, write-and-forget type programs. If you do a masters program, you should be able to point at something equivalent. If you can put a decently sized program on github, then employers won't need to look at your compilers grade to get an idea of whether you can handle larger programming projects. Of course, you can always take compilers as a graduate student.

 

The wonderful thing about software engineering is that everyone has holes in his or her knowledge. One of the items on the ACM code of ethics gives some guidance on this; a professional software engineer should always strive to acquire and maintain professional competence. Identify your weak areas and make a constant effort to improve yourself.

 

FWIW, I've never heard of this. Ever. And I nosily ask people about their CS programs and careers.

 

I definitely agree that having a strong github presence is resume-changing. Some employers may ask to see yours even if it's not written explicitly on your resume!

 

There are two main classes that general software engineering positions seem to "require": data structures and algorithms. That is, the questions from these topics come up regularly and, by definition, will be necessary during your entire software development career. Additionally, it helps to learn about general programming principles / methodologies. I've never been asked to know anything outside of these topics in job interviews. Being good at solving logic puzzles also helps! ;)

 

Keep in mind, I'm referring to general "software engineer / developer" positions. When you're looking to develop for mobile devices, or for big data companies, or anything else specific, you'll need more specific knowledge. Some people are willing to give you that at the job. Others aren't. But you probably don't want to jump into a job that you aren't very prepared for anyway! :P

 

[Again, all of this is based on my own experience and inquiry. Good luck, and enjoy it!! ^^]

Link to comment
Share on other sites

Thank you for your insight PhDerp!

 

Another related question.  If I only care about getting a job, is the prestige of the university important?  I'm from NY.  So I could get instate tuition at schools like SUNY Stonybrook, Buffalo, Albany and Binghamton.  I already know Stony Brook is well recruited for CS.  But what about SUNY Buffalo, Albany and Binghamton?  Will those be good enough to get a software engineering role?  By the way, I'm not obsessed with landing a job at google/microsoft/facebook.  I just want to get my foot through the door.

 

And if anybody else wants to weigh in on the masters vs second bachelors topic, that'd be great too.  Thanks everyone!

Link to comment
Share on other sites

Is the prestige of the university important...

I wish there were a thread dedicated to this exact question.

Here are some observations I've made about this question. First, people in software engineering seem to be acutely aware of where everyone else went to school. I come from Hodunk U, and I've always had the impression that when people find out that they use this to judge what I'm capable of. I've had the liberty of talking to another software engineer who graduated from my university... if you were to guess where he went to school based on the projects he's produced, you would guess that his alma mater is something on the caliber of Stanford. He has made the same observation. Apparently it really irks people from elite universities when they realize that the work that he produces is better than the work that they produce.

 

In short: the prestige of the university does matter. It doesn't mean you'll be a better engineer, but will affect people's immediate perception of you. Of course, my experience comes from an extreme; it's quite likely that the SUNY system is prestigious enough that people will be inclined to wait to form their opinions of you until they've seen what you can do.

Link to comment
Share on other sites

Another question, is there any benefits of having an MS over a BS in computer science?  I've looked at job postings and very few job postings actually list MS in computer science as a requirement.  Will having an MS make it easier for me to get a job/lead to higher pay?

Link to comment
Share on other sites

Look further into the Computer Science forum here at the Grad Cafe. There are a few MS programs out there for students that do not have a bachelors degree in CS or a related field, including the University of Chicago, Brandeis, Carnegie Mellon, and the University of Pennsylvania. I am a student in one such program, the University of Pennsylvania's MCIT program. I have a Bachelors degree in Photography and a Masters in Secondary English Education. After having some serious hardships finding a job and realizing how much I loved computing, I applied to the program. After 2 semesters, I can code in 4 different programming languages and I'll be starting my summer internship as a junior software engineer tomorrow! It's an excellent program and I know a number of graduates who have very steady, fun, well-compensated jobs because of it.

 

You might also want to consider going to one of the many coding schools that have popped up in recent years. They don't have the clout and prestige that a master's degree from a university will give you, but they may help you get your foot in the door. There's a full list of them here:

 

http://bootcamper.io/t/type/in-class

Link to comment
Share on other sites

BSCS+MSCS > BSCS > MSCS

 

Would you give me some reasons why you believe a BSCS is better than an MSCS please?

 

Aurora15,  thank you very much!  I will look into those schools.

Link to comment
Share on other sites

Many people (primarily employers) know that a lot of people are switching to CS due to the recent craze. Think of it like an MBA but for software.

Masters programs are shorter and generally cover less courses than undergrad. Schools usually offer an accelerated (i.e. less thorough) core curriculum such as one semester of systems, and maybe one semester of theory courses. A BSCS would also give you more time to accumulate internships to discover what specifically you enjoy. This last point usually doesn't apply to people who are in it for the money.

A MSCS is better than none at all! But if I had the choice, I'd get the BS.

Link to comment
Share on other sites

  • 3 weeks later...

I don't agree that BSCS is better than MSCS.  An MSCS sounds better than a BSCS.  I would simply tell the truth " but my love for computing was too strong, I had to go back to get a serious education ''  Engineering is a very hands-on business activity and your ability to get things done trumps most everything else.  The theoretical in CS, as in most engineering disciplines, won't be seen much on the job, or at least not the cutting edge of research.  In other words, if you have an MSCS you have all the qualifications you need to enter the labor market. 

Edited by eyepod
Link to comment
Share on other sites

  • 1 year later...

Hi all,

I am also looking to get an MS degree in comp sci[online] but not sure which univs are worth spending money on and which are not? Would someone be able to tell which are the most legit online degrees offering MS in Computer science or software engineering? I have GATech in mind, but any other univs that I can look into? It would be nice to get the opinion of someone already doing an online MS program..

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

This website uses cookies to ensure you get the best experience on our website. See our Privacy Policy and Terms of Use