1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Programming as a realistic job after completing a math PhD?

  1. Jul 27, 2015 #1
    I will be starting a PhD next month. I know there are other things I need to worry about (actually getting through the next 5 years for one), but I would feel a bit more at ease if I discussed this before hand. First off, I'm pursing the degree because I love math and hope to be a professor doing research. However, I'd definitely put doing it for the love of math over getting some dream job, since I know the job market is absolutely terrible and involves a lot of relocating. As such, I'm perfectly fine with treating the PhD as an intellectual pursuit and challenge.

    Sorry for the long winded intro; I just want to avoid generic "you should just get a job now because you're forgoing income" or "there are few professor jobs" answers when I'm already well aware. Anyway, if I learn how to program well (already took a couple of C++ classes) and create some personal coding projects (perhaps related to my research, ie, not necessarily practical, but at least showing I can program something nontrivial), would that be enough to get some sort of programming or software job after the degree? I'm currently interested in algebraic combinatorics (with connections to computer science), and while I obviously won't be using that knowledge in the industry, I think programming would be a nice complement to the discrete-like mindset. If there are any pure math-to-industry people out there, I would love some input. I just want to make sure I can study what I find interesting in grad school without worry and still be able to find a place in the industry.
  2. jcsd
  3. Jul 27, 2015 #2


    User Avatar
    Science Advisor
    Gold Member

    Programming is relatively easy . Where the real skill lies is in understanding the problem that requires the programming .

    We used to have people called systems analysts . These were exceptionally clever people who could analyse any problems given to them and work out the structure and basic logic of programmes needed . Actual programming was done by others under supervision .

    There are areas of industry where complex programme development is done continuously - mathematical modelling of real systems is one example .

    An area of programme development which is very mathematically based is CAD/CAM - especially 3D . Fundamental maths of of how 3D shapes can be described and modified has barely been explored as yet .

    So I suggest that you find a niche where your understanding of maths is the important consideration - not actual programming .
  4. Jul 27, 2015 #3


    User Avatar
    Science Advisor

    I know personally a mathematician who works at Google and is very happy with her job. There are three keys to what you're trying to do as I see them:

    1. Study something relevant to a field (don't ask me what is relevant, sorry),
    2. Get a good grasp of programming and, just as importantly, learning how to apply computers to solving large problems, and
    3. network.
  5. Jul 27, 2015 #4
    I would think that a summer internship in software development would do you a lot of good. Your experience in C++ and your good analytical skills should be enough to get you a decent one. If you do, there's a good chance they'll offer you a job after graduation.
  6. Jul 30, 2015 #5
    Programming is a tool. The real issue is what you will be really doing? Designing software? You aren't a software engineer. And good software engineers are rare. It is not 'easy'.

    Solving mathematical problems. You will need to code to solve reallife problems. That's why you learned to program. A bioinformatics PhD can't software engineer either. Just like a software engineer can't do your job.

    Can you retrain as a software engineer? Sure. Will a company hire you, who is trained to do something different and will probably leave when a math programming PhD level job becomes available, sure. Will a guy with 10 years of experience and several shipped software titles under her/his belt get the job instead. Sure.

    A couple of C++ classes and program something non-trivial, some kids in high school can do that. You have a PhD degree but want a job a first-year BSc in software engineering can do.

    Donno how hard it is to get a job in this field in my area, let alone yours. Didn't you decide to figure that out at least somewhat before you decided on this degree?

    I just don't see how some company is going to hire some math genius because they have trouble finishing their software programs on time.

    Not to say there aren't difficult mathematical problems in industry that need to be solved. And they will all involve programming. It's a bit like a cook using a knife, and a surgeon using a knife. They aren't really doing the same thing.
  7. Aug 2, 2015 #6
    I did it. Math PhD, undergraduate computer science minor. It was extremely difficult to get the job, though. And I'm not using much math. I do financial stuff, but it's not like heavy-duty quant stuff. Sometimes, my math ability has come into play, just in terms of subtle, but very elementary math issues that come up that the programmers are a little slower to pick up on. I'm trying to move towards more mathematical stuff (data science or quantitative finance), but it's working out pretty well for now because I really needed a break from math, and I am a valued member of the team.

    My advice is to be well-prepared for programming interviews, get an internship before graduating because it's much more difficult afterwards, and start looking for a job early. It can be difficult to search for a job while trying to finish a thesis, but I think it's not a bad idea to make the job a higher priority than finishing because a job is better than a PhD. There are a lot of people interviewing for programming jobs who don't really know their stuff, so I'm not sure it's that hard to stand out if you put in some serious effort to master the typical interview questions. The hardest part for me was just getting an interview, although when I got my first couple of interviews, I wasn't sufficiently prepared for them. It just took a little work to get up to speed.

    I don't think that's always a realistic fear on their part. I would be terrified to leave my job until I have 2-3 years experience, even if explicitly offered a new job with twice the pay and more math, just because it would look bad on my resume. And why would I be in such a hurry? It's not necessarily pleasant to be jumping around and have new situations to adjust to all the time.
  8. Aug 2, 2015 #7
    You should expect a bit of skepticism, but I was able to interview better than the competition, so I got the job, even though my boss is very picky and rejects a lot of people with masters degrees in computer science. Not everyone is so biased against people based on their background, although a lot of them are. It turns out I am doing perfectly well at it, and I am not going to leave any time soon.
  9. Aug 2, 2015 #8
    Of course it is a realistic fear. A PhD job will give much more intellectual satisfaction, which is why people do advanced education in the first place, and also has better pay and better odds to get into executive positions without an MBA and lot's of experience. A person didn't spend 4-5 years doing a PhD for nothing.

    And for temp jobs, why not hire someone that already has shipped software vs someone who first has to learn to program software vs their technical programming they did before?

    I just don't see how you qualify for such jobs more than for other jobs. People get stuch on that they both involve programming. Well, everyone with advanced education learns to program nowadays. You don't hire a biologist to engineer software. Programming software is a a skill and an art.

    If there's lot's of math involved that the average compSci guy knows nothing about, sure. If your research has overlap with their core business, sure.

    And let's not forget that you just have to be smart enough to do the job. With a PhD the person hiring you will worry that you will advance before him/her.

    When we talk about MSc, that's a normal degree that prepares for business/industry.
  10. Aug 2, 2015 #9
    Who says? They may very well have done it for "nothing". Plenty of people abandon what they studied in grad school to a very large extent. Do PhDs want executive positions? I don't think most are interested in that. There are lots of burnt out former grad students who just want to get paid and don't care that much about intellectual satisfaction, but if it's true that they will have to learn a big new skill, doesn't that count as intellectual satisfaction? Who are you to decide that for them? They can decide for themselves whether it's satisfying, thank you very much.

    2-3 years is standard. Not really temp. I think that works out okay for both parties. Why hire the CS major, rather than someone with experience? Same problem. The answer is that if no one is willing to hire the new guys, then you create a labor shortage. As it turns out, some of the new guys are perfectly capable of doing the job.

    I didn't really particularly qualify for much of any job. You have to learn. But as I said, if you can only get hired if you have experience, then there's going to be a labor shortage because people are going to retire with no one to replace them. At some point, someone has to hire someone with no prior experience.

    No, how about if the math guy can actually just plain do a better job? Not because he's a math guy, but because he is actually good at programming in its own right. One of the guys who hired me talks about how it's important to be able to learn new things, rather than knowing specific things.

    Hmm..this last bit seems a bit self-contradictory. They are not qualified to do the job, yet at the same time, people should be afraid that they will advance more than them? Okay, if you say so...
  11. Aug 2, 2015 #10
    They are not more qualified, but more talentend. So it's worse than just being overqualified, which is the main issue PhD grads have in finding a job. They can't get 2 years of easy job experience at a lower level because employee's aren't interested in that.
    Wanting to get hired in an area where you have basically no training makes it even worse.
    Leaving in 2 years is exactly what they fear. How long does it takes before you actually become productive? At least 6 months, maybe more since you can code only scientific code, not software.

    I don't get your responses. Some things you say seem backwards, though it may partially be that the job market where you are is completely different.

    Think about it. Who would you hire?

    Being too smart is worse than being too stupid.
  12. Aug 2, 2015 #11
    Actually, it turns out that is exactly what some people are looking for. Granted, not many people, but some. Some would prefer someone who can learn a lot over someone who knows a lot because there just aren't enough people who know what their company needs them to know. So, it would make more sense to hire the guy with more talent who can learn the stuff, rather than someone else who knows how to do something else. The other guy may be a better programmer, but that doesn't mean that he doesn't have to learn a lot of new stuff to be able to do the job, and if he has less talent, that may put him at a disadvantage, even if he has less to learn on the programming side. This is all regardless of whether it involves math.

    I don't get how you don't get them. It's pretty straight-forward and logical. No one was interested in my math skills. I had to find something else. The demand for math by itself is very, very low. So, a solution was found that works for everyone. I am now a programmer, using very little math, and it can be a stepping stone to something like big data or something, but it's working out.

    I think it can be realistic to look for a software development job, but you should be prepared to find it because it can be an uphill battle.
  13. Aug 2, 2015 #12
    No, I was already productive within a couple weeks. I designed and coded up a key component of the software and that was the first thing I did. Granted, I did need to have my code looked over and some suggestions provided, but I was productive almost right away. I don't think they are particularly concerned that I will leave because the agreement was actually that I would stay for one year.
  14. Aug 12, 2015 #13
    It's actually not too terrible to leave a job after a year in the software industry. If you have a pattern of short lived jobs one after another which are NOT contract, then you might have problems.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook