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!

Math Math Majors, Programmers as Backup Plan?

  1. Sep 25, 2009 #1
    I have read that those with bachelor's degrees in math and or physics enter the work force in the capacity of software developers. I am curious as to how they acquire the necessary programming skills. Do employers assume they're "smart enough to learn" and provide a period of time for on the job training? Do these graduates have exceptional computer science backgrounds? Do they only write highly scientific/mathematical programs that normal programmers can't? I'm not sure how this works.

    I'm an applied math major with a minor in physics, aiming for grad school. My major requires only two C++ classes. Would that be enough programming experience in the event that "things don't pan out?"
  2. jcsd
  3. Sep 26, 2009 #2


    User Avatar
    Science Advisor

    Usually schools now with applied math and applied stats departments force their students to take introductory programming classes.

    I've had two jobs as a programmer and I have to say what will get the job will be more than what they teach you at uni. You should have exposure with large source code repositories, be good at documenting both architecture, interfaces and general systems and be able analyze and sythesize code in a fairly logical way.

    If I were you I would either a) double major in compsci and applied maths/physics or if you don't decide to do that at least get involved in development of a somewhat large and complex project. Most employers want results as fast as possible. Also many large companies usually want a couple of years commercial experience as well.

    Your maths skills and your ability to think logically and systematically will come in handy, but they don't necessarily translate to you being a good engineer or developer.

    I can think of some places where an intermediate understanding of code would be good and where your mathematics skills would be just as if not more important where you could be under instruction of more senior developers and engineers but from my own experience people are expected generally to produce results reasonably quickly and the competition faced particularly from double majors would probably see them getting the position.

    Also most developers don't just do up matlab scripts, they contribute to large, well organized and structured code repositories often that have many different technologies incorporated to make them work. There's often multiple tiers of coding especially in business systems or financial systems. So understanding many things including how different components interface with each other is critical.

    There is a tonne of stuff to know and I can't really cover it all here.
  4. Sep 26, 2009 #3
    Thanks for your response, chiro. It sounds like procuring an entry-level software development program is more involving than I thought.
  5. Sep 26, 2009 #4
    Alot of the stuff you actually do in a programming job is learned on the job. Being a good programmer is more about just being able to learn new things quickly than what sort of background you have. Plus for about 99% of the computer programming jobs at an entry level you wouldn't be using much if any of what one learns in a CS program.

    I think you will be able to get a programming job just fine with maths degree, as long as you get some programming experience along the way.
  6. Oct 9, 2009 #5
  7. Oct 9, 2009 #6
    Also one problem with university courses is that they teach you to *write* code. What's more important is the ability to *read* code. You can go to www.sourceforge.net or put together a linux server. What you want to do is to download a package with 100,000 lines of code and be able to do something useful with it. With a big software project, you'll find it difficult to get the thing compiled, but that's good training.

    It's also important to read *badly written programs*. The more badly written programs you encounter, the more you will appreciate the importance of writing well written ones.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook