These degrees will be regarded almost the same by most employers. A much bigger factor is where you will get them—your choice of school affects how valuable the degree is more than the major, what your next four years will be like, and how much money you will spend on it.
A PE in Software Engineering is a brand new thing. The PE is very important in some transitional engineering fields, but actually doesn’t mean much practically in many others. In the software development industry, certifications have traditionally meant very little outside of government, government contracting, and internal software development at large, non-software corporations. (Think words like “enterprise”, “requirements specification”, “Java”...) If you are interested in stable work, go into government contracting. Mostly avoid the latter category, where you will be undervalued most places.
If you are interested in working for tech companies or startups (think words like “agile”, “free energy drinks”, “Python”...), then your degree is of a lot less value and certainly the subtleties of it are. Strengths here will be showing cool projects from your degree (CS wins a little here), personal projects, professional experience, etc. help a lot. A strong github profile or other portfolio will impress.
If you’re interested in doing interesting, stable, well-paid work but still want to program, consider a dramatically different degree. People who can program in science, engineering, economics, etc. get to work on really interesting problems and are considered really special in their fields. There is a lot of money for people who are really good at it and know how to sell themselves. Hopefully a few decades from now “programmer” won’t even be a career and domain knowledge will be the norm.
People who can program in science, engineering, economics, etc. get to work on really interesting problems and are considered really special in their fields. There is a lot of money for people who are really good at it and know how to sell themselves.
Can you provide concrete examples of people/companies/job titles? I’ve been programming for a while, and I realized recently that I actually find it pretty boring a lot of the time. If there was some way I could learn a new field in order to get paid more and do more challenging work, I’d be pretty interested in that.
Job titles can be things pairing off terms like research/computational/computer/software/[domain] with analyst/engineer/scientist commonly. In my experience, most companies learn that it’s usually easier to turn an “x” into an “x programmer” than to turn a “programmer” into an “x programmer”, so it can be inaccessible to do interesting work in fields that you didn’t start in.
One of the most accessible fields for outsiders tends to be biology. Employers include the NIH and federal agencies, state research labs like http://labs.fhcrc.org/compbio/ and http://www.wadsworth.org/resnres/bioinfo/ , biotech firms like Amgen and Stryker, and university research labs. Many problems in biology are not that hard to pick up and the field is short on programmers.
Another field welcoming of outsiders is finance. Working conditions are terrible (high stress, long hours) but pay is good for people with skills. Every major investment firm, actuarial firm, insurance company, etc. is looking for programmers and will convert you to understand their domain well.
Other engineering and science disciplines are tougher to crack, but if you’re looking to earn a degree or commit excessive amounts of study, can be great homes. It’s hard to get by in fields that aren’t desperate for programmers without a really strong intuition for the topic and potentially a really strong background in the right methods and mathematics. Engineering stuff tends to be dominated by defense and energy contractors, from SAIC to Lockheed to the thousands and thousands of little suckerfish companies sucking at the military-industrial complex’s teet.
There is some commercial presence to this as well, where companies mostly make software for the above sorts of companies to use. Big firms such as Siemens and Ansys have well-defined roles for software development with domain expertise. Small companies like Enthought and Continuum Analytics need cross-disciplinary thinkers to survive.
It bears noting that if someone is like OP and just starting their career, opportunities such as academia and national labs are open to them if they pursue the right academic path. These can be very rewarding domain-centric programming careers, but are a lot harder to transition to from other careers.
I’m actually in a kinda similar position to the OP in terms of starting my career, I’m 21 and I have 3⁄4 of a computer science BA. My programming+web development resume is very good, but it’d be interesting to branch out in to other stuff (just lately I’ve been taking Coursera classes on machine learning and related stuff). On the other hand, money is really important to me (effective altruism FTW) so if a field doesn’t have the promise of offering Silicon Valley type salaries (150K-ish being reasonably typical) for a programmer like me, I’m probably not interested.
My understanding was that finance was in the process of contracting right now; can you say anything about that? Having an excuse to learn more economics would be cool though. For some reason the idea of working for a defense contractor doesn’t appeal to me.
I’ve never worked in finance and don’t know that area well, but I get a lot of cold contacts from the finance industry and occasionally meet people who work as analysts writing software who indicate there is a ton of demand. I cannot attest to salaries, but people seem to imply they’re very competitive compared to other fields.
I work in what is essentially mechanical engineering. Money isn’t very important to me, so I don’t have the highest salary, but I turned down a job offer doing similar stuff in NorCal where the offer was above that. I’m in my late 20s.
No matter what path you choose, I encourage you to squeeze out all the room in your degree you can for stuff involving other disciplines.
Formal training means little in software development, but means a lot in fields where autodidacts are unheard of—it would go in your list of qualifications and you’d actually know the topics. I’ve never met someone who has taught themselves heat transfer or solid mechanics from scratch who seemed actually to remotely know what they are talking about, let alone communicate lucidly about it.
(My answer will be very US-centric.)
These degrees will be regarded almost the same by most employers. A much bigger factor is where you will get them—your choice of school affects how valuable the degree is more than the major, what your next four years will be like, and how much money you will spend on it.
A PE in Software Engineering is a brand new thing. The PE is very important in some transitional engineering fields, but actually doesn’t mean much practically in many others. In the software development industry, certifications have traditionally meant very little outside of government, government contracting, and internal software development at large, non-software corporations. (Think words like “enterprise”, “requirements specification”, “Java”...) If you are interested in stable work, go into government contracting. Mostly avoid the latter category, where you will be undervalued most places.
If you are interested in working for tech companies or startups (think words like “agile”, “free energy drinks”, “Python”...), then your degree is of a lot less value and certainly the subtleties of it are. Strengths here will be showing cool projects from your degree (CS wins a little here), personal projects, professional experience, etc. help a lot. A strong github profile or other portfolio will impress.
If you’re interested in doing interesting, stable, well-paid work but still want to program, consider a dramatically different degree. People who can program in science, engineering, economics, etc. get to work on really interesting problems and are considered really special in their fields. There is a lot of money for people who are really good at it and know how to sell themselves. Hopefully a few decades from now “programmer” won’t even be a career and domain knowledge will be the norm.
Often tech companies like programmers who have undergrad degrees in eg maths or physics, as these subjects are seen as being difficult.
ETA: should say that this comes from my experience from working tech companies in Cambridge, UK. I’m not sure to what extent it’s true elsewhere.
One of the things I’m considering is a joint math/ comp sci degree. Thanks for the suggestion.
That’s basically the idea that I read in this WSJ piece.
Can you provide concrete examples of people/companies/job titles? I’ve been programming for a while, and I realized recently that I actually find it pretty boring a lot of the time. If there was some way I could learn a new field in order to get paid more and do more challenging work, I’d be pretty interested in that.
Job titles can be things pairing off terms like research/computational/computer/software/[domain] with analyst/engineer/scientist commonly. In my experience, most companies learn that it’s usually easier to turn an “x” into an “x programmer” than to turn a “programmer” into an “x programmer”, so it can be inaccessible to do interesting work in fields that you didn’t start in.
One of the most accessible fields for outsiders tends to be biology. Employers include the NIH and federal agencies, state research labs like http://labs.fhcrc.org/compbio/ and http://www.wadsworth.org/resnres/bioinfo/ , biotech firms like Amgen and Stryker, and university research labs. Many problems in biology are not that hard to pick up and the field is short on programmers.
Another field welcoming of outsiders is finance. Working conditions are terrible (high stress, long hours) but pay is good for people with skills. Every major investment firm, actuarial firm, insurance company, etc. is looking for programmers and will convert you to understand their domain well.
Other engineering and science disciplines are tougher to crack, but if you’re looking to earn a degree or commit excessive amounts of study, can be great homes. It’s hard to get by in fields that aren’t desperate for programmers without a really strong intuition for the topic and potentially a really strong background in the right methods and mathematics. Engineering stuff tends to be dominated by defense and energy contractors, from SAIC to Lockheed to the thousands and thousands of little suckerfish companies sucking at the military-industrial complex’s teet.
There is some commercial presence to this as well, where companies mostly make software for the above sorts of companies to use. Big firms such as Siemens and Ansys have well-defined roles for software development with domain expertise. Small companies like Enthought and Continuum Analytics need cross-disciplinary thinkers to survive.
It bears noting that if someone is like OP and just starting their career, opportunities such as academia and national labs are open to them if they pursue the right academic path. These can be very rewarding domain-centric programming careers, but are a lot harder to transition to from other careers.
Thanks for your response!
I’m actually in a kinda similar position to the OP in terms of starting my career, I’m 21 and I have 3⁄4 of a computer science BA. My programming+web development resume is very good, but it’d be interesting to branch out in to other stuff (just lately I’ve been taking Coursera classes on machine learning and related stuff). On the other hand, money is really important to me (effective altruism FTW) so if a field doesn’t have the promise of offering Silicon Valley type salaries (150K-ish being reasonably typical) for a programmer like me, I’m probably not interested.
My understanding was that finance was in the process of contracting right now; can you say anything about that? Having an excuse to learn more economics would be cool though. For some reason the idea of working for a defense contractor doesn’t appeal to me.
I’ve never worked in finance and don’t know that area well, but I get a lot of cold contacts from the finance industry and occasionally meet people who work as analysts writing software who indicate there is a ton of demand. I cannot attest to salaries, but people seem to imply they’re very competitive compared to other fields.
I work in what is essentially mechanical engineering. Money isn’t very important to me, so I don’t have the highest salary, but I turned down a job offer doing similar stuff in NorCal where the offer was above that. I’m in my late 20s.
No matter what path you choose, I encourage you to squeeze out all the room in your degree you can for stuff involving other disciplines.
Any advantages to taking classes officially over just doing independent study?
Formal training means little in software development, but means a lot in fields where autodidacts are unheard of—it would go in your list of qualifications and you’d actually know the topics. I’ve never met someone who has taught themselves heat transfer or solid mechanics from scratch who seemed actually to remotely know what they are talking about, let alone communicate lucidly about it.
Hmm, that’s a very interesting idea, thanks!