When looking at job postings for Software Developers, I often notice one peculiar requirement in some of the postings:

a degree in Computer Science, Mathematics, Engineering or related field.

Am I correct in deducing that a Checmical or Civil Engineering graduate, for example, will be as equally considered for that job as a Computer Science graduate?

With that in mind, and looking at some questions/answers on the programmers.stackexchange websites, I can't help but wonder: are these candidates treated as ones "without a degree" because it is in a different field, or can that Mathematics or (non-Software) Engineering degree indeed be an asset in an application for a Software Engineering position, or even a career in that area?

  • 1
    A technical degree reflects technical problem solving and a degree. If the job is to write program to optimize a feed slate for a refinery then a degree in chemical engineering would be preferred over computer science.
    – paparazzo
    Apr 27, 2015 at 11:16
  • @Blam, reading your user page, my background is quite similar to yours; degree in engineering, with research/teaching experience in Numerical Methods. Why don't you contribute an answer with your own experience, if it's not too much to ask? Apr 27, 2015 at 20:12

6 Answers 6


The requirement says exactly what it means. If you have a degree in any of those fields or related, then that's just fine and should have no bearing.

An example. I work in software development. Many people I work with have degrees in electrical engineering (and even the once a civil engineer). They aren't software developers in the strictest sense, but they still follow the engineering process. If your field was say, physics, then there is still a strong emphasis on computation and calculation, which is an important part of software development. Chemical engineering (given I have no knowledge of it), perhaps would not be applicable.

So to answer your question, if you see a job you want to apply for with these prerequisites, your degree is in a related field, then apply! If the recruiters don't feel your qualifications are adequate you will soon find out. Having said that, if you have experience in software development throughout your undergraduate degree, put that down as that in general has some bearing.

  • 1
    Thanks for the encouragement. Also, your answer echoes an important I encounter alot, regarding emphasizing software experience over the degree. Apr 27, 2015 at 20:05
  • 1
    +1, Completely agree - emphasise experience, and if you think your degree might be related, frame it as such and let them decide. Let them tell you if they have concerns, but don't avoid applying for a role over such a thing, particularly if you think you can do the job.
    – user29632
    Apr 27, 2015 at 21:27

As a hiring manager - I'll say "equally" in this case is a word that bears little meaning. Every candidate is different, and I'm looking for the candidate that is best. Your degree isn't equal to a CS degree, and it's the job of the company's hiring process to hone the set of candidates so that most time is spend evaluating the qualifications of the most promising candidates. The goal here to be promising enough that you get to a place where your value will shine.


To find a candidate, someone mans the front lines and looks at all potential candidates from a variety of input streams including - resumes posted via sites, resumes obtained through recruiters, referrals and people who were hunted down specifically because of their observed skills.

When the resume comes with a cover letter and very little other context, all the evaluator can do is judge whether the candidate looks to be as good as any other recent candidate. Job markets fluctuate and so what may pass in a hot market won't pass when tons of people are looking for jobs.

When a wealth of options presents itself, evaluators will select for the most perfect background they can find: - experience in the given business domain - experience in the given technology (solution domain) - depth of experience - college degree specifics - college reputation

The longer a candidate's been in the field, the more the business/technology experience counts over school & degree. With a new college grad, the school and degree is the most significant part of their experience - it's what they were just doing with the last few years of their lives! And, of course, 30 years ago there really WAS no degree in computer science, so everyone with any skills came from a math or engineering program and got some programming experience somewhere.

For the most part, referrals from trusted people, internal transfers, and people who have been personally solicited end up in a more exclusive stack of candidates. At that point, degree type matters even less, because the person has already been proven to be good to work with or of a demonstrated skill set.

My father always said:

The degree and schools gets you in the door, the rest is up to you.

The line " a degree in Computer Science, Mathematics, Engineering or related field. " means that it is not REQUIRED that the candidate have a computer science degree - the job may be done without it. But it does not mean that a related degree is considered equally valuable.


This doesn't mean "don't apply" - it does mean, make your most relevant qualifications stand out. If you have a Chemical Engineering degree and you spent an internship writing code for a chemical engineering related project - make sure that when you apply for the software position, you highlight all the software development related work that you did, so your very relevant experience stands out.

  • 2
    +1 - I like your father's quote. I had a professor who regularly said, "The degree won't get you the job. The degree gets you the interview." Apr 27, 2015 at 19:51

If they are doing say financial programming, then requiring that you have a degree in a field that requires you to build up a background in math - that requirement makes sense.

Since I do my software engineering from the Devops side of the House, I am very sensitive to being able to write scalable programs. To this end, a degree in a quantitative field is not enough. You need to develop a capability and proficiency with data algorithms and design patterns. The most straightforward and obvious way to develop this capability and proficiency is to specifically get a CS degree. The other way is to keep hammering on data algorithms and design patterns fpr the rest of your natural life - I seem to be getting the worst of both worlds :) At any rate,if an employer requires you to know data algorithms and design patterns, said employer will specifically ask for that knowledge.

Just be compliant with the education requirement, don't argue with it.

  • Thanks for your answer. For the record, I am not arguing with anything, I'm just trying to gain some insight. Apr 27, 2015 at 20:01

There is one point the other answers don't really touch yet: for most jobs one doesn't just need to have knowledge of software engineering, but also Domain Knowledge.

E.g. someone working on software for a chemical plant should have some knowledge of chemistry and chemical engineering: The requirements and thus the source code will be full of words from those domains.

Of course, everyone prefers to hire the perfect candidate that has knowledge of both software engineering and the required domain. In practice, the real world is less than ideal (for employers). So employers have to settle for the best available candidate.

The hiring manager might judge that it's easier to train a good chemical engineer with some programming experience in the finer point of software engineering than it is to train a software engineer in the finer points of chemistry.

  • Well said. However, this doesn't quite answer the question in the sense that, this is about a general software position that does not necessarily relate to the engineering or scientific domains referred to in the question. May 6, 2015 at 19:52

"Am I correct in deducing that a Chemical or Civil Engineering graduate, for example, will be as equally considered for that job as a Computer Science graduate?"

That seems very unlikely for most programming positions and most Ch.E. or C.E. graduates. More likely, they're referring to Computer Engineers, Software Engineers, etc., not Civil, Chemical, Mechanical, etc. It's possible that a few of the latter group might be qualified, but that would be much more the exception than the rule.

Certainly, any (real) engineering degree is still an asset in software development, but that doesn't mean you'll be equally qualified as a graduate with a Computer Science degree. The same is true in reverse. With my Computer Science degree, I have much higher than average knowledge of electronics and circuit design, but still not nearly as much as someone with an E.E. degree. Similarly, I have a much higher than average knowledge of mathematics and physics, but not nearly as much as someone with a degree in those fields.


As a matter of fact many engineers and 'pure' scientists (especially physicians and mathematicians) have strong points in mathematics and abstract problem solving, which are important skills for software developers. Depending on the recruiter a mathematician or physician with the same experience as a computer scientist might be preferred. Most likely this won't hold for any scientist or engineer. The chemical or civil engineer will definitly have a weaker standing than a computer scientist.

Anyway, no mathematician, physicist, or engineer will stand a chance without a decent amount of proven programming experience. I myself have graduated in physics, but I am working as a software developer now. I would have had no chance if I didn't work as a programmer (student assistant in a research institute) throughout a most the time of my studies.

  • During the Y2K internet bubble years, proven programming experience wasn't even required; There were too many job openings and not enough programmers.
    – Sjoerd
    May 5, 2015 at 4:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .