I'm currently trying to decide what to major in undergrad and I'm between math and CS. I've taken multivar/linear alg/intro to abstract math so far and would really like to continue with math as my major rather than CS. The problem, though, is that I want to go into software engineering (couldn't really see myself in many math related careers like actuary, analyst, etc). So, does anyone know what the odds are that I'd be able to get a SE job with just a pure math degree in today's market? Should I just go for the CS major to have a better shot at landing a job? Unfortunately, I cannot double major due to schedule constraints. I could minor in CS if majoring in math, but would this help me very much in securing SE jobs?

In future years (say, the next 30 or 40), what would you guess will be the more valuable degree in the long run?

Thanks for the help.

  • I disagree with the votes to close. I don't believe this is a shopping question or one that depends on personal preferences, etc. It simply asks (but with usual student verbosity) whether a CS or a math degree is a better choice for someone planning a career in software engineering. It's a simple question with a simple answer. – Nicole Hamilton Aug 19 '18 at 13:58
  • @NicoleHamilton academia.stackexchange.com/help/on-topic "However, please do not ask questions about [...] Preparation for a non-academic career". – user9646 Aug 19 '18 at 14:39

This question might very well be closed as not being about academic careers, or as an opinion question, but I'll give an answer anyway...

I studied math and computer science as an undergraduate in the early 1980's and ultimately ended up with a BS in Computer Science because it was a better degree for getting a job. After a few years as a software engineer at Motorola, I went back to graduate school in mathematics and then entered into an academic career as a math professor.

Although some of the more theoretical aspects of computer science that I studied in the 1980's are still relevant, the programming languages, operating systems, and computer hardware that I worked with are long out of date. To paraphrase a quote from Charles Stross, having a degree in Computer Science from 1984 is somewhat like having an Aeronautical Engineering degree from the 1920's.

On the other hand, most of the mathematics that I studied in the 1980's is still relevant and hasn't changed very much. For example, I've recently taught an Intro to Ordinary Differential Equations course using a later edition of the same textbook that I used as an undergraduate in the early 1980's.

The two points that I'm trying to make with this story are that

  1. Computer Science and Software Engineering are very rapidly changing fields. You'll have to keep updating your education as the technology changes if you want to stay in it.

  2. You might very well change careers one or more times over the next 30 to 40 years. It's unwise to plan for a career as if you'll be doing the same thing for the rest of your working life.

| improve this answer | |
  • Thanks for the answer! Yes, wasn't sure if this was the right place for this question but it's great to get a viewpoint from a math prof. You confirmed my hunch about the longevity/versatility of the math degree over CS -- math doesn't go out of date, but CS can pretty fast. Thanks! – Chris Aug 19 '18 at 4:30
  • My experience was quite different. I graduated from Stanford in 1973 but I find that much of what I learned about data structures and algorithms from Knuth, computability and information theory from Hellman, and, in other courses, about operating systems, compilers, machine architectures, etc., still serves me well. Yes, any details would be out-of-date but the concepts endure. They set me up to be competitive and remain competitive by continuing to learn and update my knowledge. – Nicole Hamilton Aug 19 '18 at 13:53

If you want a career in software engineering, the CS degree will be far more helpful to you. It's not even close.

Hiring managers in software engineering will expect you to have the knowledge and skills taught in a computer science curriculum. Interviews invariably consist of putting you in front of a whiteboard and asking you to code something. No one will ask you to derive anything using calculus.

Hiring managers in software engineering want people who can code and possess basic knowledge and skills with algorithms, data structures, operating systems, databases, machine learning, robotics, security and so on, because that's what the job is. This is what you will learn in a CS program. This is not what you'll learn pursuing a math degree.

| improve this answer | |
  • 1
    While math is a great base for a lot of things including SE, once you have a math degree you still have to learn all the things you mention here before you really know what it is about. Math will actually help you learn some of them, but that isn't the same as actually knowing, say, algorithms. My degrees are all in math and I taught CS for almost all my career, but it was actually years before I was able to put it all together. – Buffy Aug 19 '18 at 13:32

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