Math Majors, Programmers as Backup Plan?

  • Context: Math 
  • Thread starter Thread starter rp1242
  • Start date Start date
  • Tags Tags
    Plan
Click For Summary

Discussion Overview

The discussion revolves around the career prospects for individuals with bachelor's degrees in mathematics or physics, particularly in relation to software development roles. Participants explore how these graduates acquire programming skills, the expectations of employers, and the relevance of their mathematical training to programming tasks. The scope includes theoretical considerations, practical experiences, and the transition from academic training to professional environments.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Homework-related

Main Points Raised

  • Some participants suggest that employers may assume graduates are capable of learning programming skills on the job, but they also emphasize the importance of prior programming experience.
  • There is a viewpoint that a mathematics or physics background can be beneficial, but it does not necessarily guarantee proficiency in software development.
  • One participant notes that many programming skills are acquired through practical experience rather than formal education, highlighting the need for exposure to real-world coding projects.
  • Another participant mentions that understanding how to read and analyze existing code is often more crucial than writing code, suggesting that engagement with large codebases can be valuable training.
  • Some argue that while mathematical skills can aid in programming, they do not directly translate to being an effective software engineer or developer.
  • There is a discussion about the variety of programming specialties, including numerical coding, which may align more closely with the skills of math or physics graduates.
  • Participants express differing opinions on the adequacy of a limited number of programming classes for securing a job in software development.

Areas of Agreement / Disagreement

Participants generally agree that programming skills are essential for software development roles, but there is no consensus on the sufficiency of a mathematics or physics degree alone for securing such positions. Multiple competing views exist regarding the importance of formal education versus practical experience.

Contextual Notes

Limitations include varying definitions of what constitutes adequate programming experience, the impact of different educational backgrounds on job readiness, and the diverse expectations of employers across industries.

Who May Find This Useful

Individuals considering a career in software development, particularly those with backgrounds in mathematics or physics, as well as educators and career advisors in STEM fields.

rp1242
Messages
5
Reaction score
0
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?"
 
Physics news on Phys.org
rp1242 said:
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?"

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.
 
Thanks for your response, chiro. It sounds like procuring an entry-level software development program is more involving than I thought.
 
a lot 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.
 
rp1242 said:
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.
Same way that you learn to ride a bike, just go out and do it. There are a ton of open source projects out there. Just pick up a stack of programming books and start doing it.

Do employers assume they're "smart enough to learn" and provide a period of time for on the job training?
The employer assumes that the person has enough programming ability to do the job. You do learn a lot about programming on the job, but what you learn usually involves things like software project management, and the software development process. One good thing about open source projects is that they usually involve large groups and large projects, and that gives you some real life training.

Also there is a lot of on the job training for the thing that the programming is supposed to be on. I've worked in oil companies and investment banks, and you end up taking crash courses on the oil business and finance.

Do these graduates have exceptional computer science backgrounds?
Not usually. I've only taken one formal computer course in my life. However, I've read a huge number of CS books. It is important to know some basic things like basic algorithms.

Do they only write highly scientific/mathematical programs that normal programmers can't?
Sometimes. There are a lot of different programming specialities. Numerical coding is one.

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?"

That will let you know what it is that you don't know. If you go to graduate school, and spend a lot of time in front of a computer, that will help a lot. There are all sorts of different types of coding, and some basic c++ classes followed by some hands on work, will let you get your foot in the door.

Also it helps a lot if you combine programming with some other skill. For example, if you have statistics experience and some basic C++ coding, that will make it easier for you to find a job.
 
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.
 

Similar threads

  • · Replies 30 ·
2
Replies
30
Views
11K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 26 ·
Replies
26
Views
5K
Replies
127
Views
23K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 10 ·
Replies
10
Views
5K