4

Note: this question is not strictly regarding the standard required of entry level jobs, but rather whether there are differences in skill sets employers may adhere to when considering graduates of mathematics vs computer science vs anything else.

I will cut to the chase: I am a mathematics graduate who had some brief exposure to programming academically, and some more extensive exposure learning at home. These include the languages C, C++, Python and some SQL. However the core of my knowledge is in mathematics and mathematical methods, and other intricacies that go along with it.

Due to this, I am finding it very difficult to gauge the level of programming required to secure an entry level job which uses C/C++. Many job postings ambiguously require 'Good programming ability in language.'

Would an employer consider a maths grad with basic programming experience, but with proven potential to learn quickly and understand complicated concepts, equally to a computer science graduate with greater programming experience?

If not, then what is the standard the maths graduate would have to rise to in order to be considered a viable candidate?

  • Programming jobs generally have interviews that require you to write code or design a system. You can find plenty of resources online which will tell you what this looks like (in general, and possibly for a specific company) and otherwise help you with preparing. – Dukeling Jun 5 '18 at 19:39
  • 1
    I recommend you look at Data Science related jobs, because your existing skills would be a good fit and they typically have a lower threshold for programming skills though these jobs typically do not use C/C++, but will use Python and SQL. – jcmack Jun 5 '18 at 21:00
  • Your best bet (in my opinion) is to do a masters degree in computer science. Maths is good to have and in the old days plenty of maths grads got programming jobs but these days it is rare, over here (Sydney/Australia) for example all jobs require a computer science or software engineering degree. – solarflare Jun 6 '18 at 0:04
4

Would an employer consider a maths grad with basic programming experience, but with proven potential to learn quickly and understand complicated concepts, equally to a computer science graduate with greater programming experience?

Most likely no. Although this would depend on the job. However, given this seems to be a developer role then no.

Programming languages require lot's of hands-on experience, something that CS Graduates usually have, whereas Math graduates may not have much (although they could have some).

If not, then what is the standard the maths graduate would have to rise to in order to be considered a viable candidate?

You will have to make your programming experience more visible. Get involved in hackathons, start or contribute to open-source projects, take some MOOCs on C/C+ and include the certificate, etc..

This will increase your hands-on experience on the language in a demonstrable way so recruiters can consider you better.

  • Thanks for the reply. I have pursued some MOOCs such as CS50, but was unsure as to whether these would demonstrate the desired standard of employers. I will definitely look into hackathons and open source contribution as ways to stand out. – Trawkley Jun 5 '18 at 19:54
  • @Trawkley glad I could help. In a way this also depends on how you sell yourself, maybe you don't have all the experience in the world, but if you phrase it properly and you convey the experience you have effectively (during interviews most importantly) then you will surely land a good job. Good luck with the job-hunt – DarkCygnus Jun 5 '18 at 20:12
  • @Trawkley since you ll be lacking the typical qualifications, I strongly suggest you focus on open source project contribution and/or creating a good presence on your github page to make up for it. In contrast to other areas, hiring programmers is much more about what each person knows than what diplomas they have so if you have things to show for yourself, you won't be declined based solely on that. – Leon Jun 6 '18 at 8:02
6

Unfortunately, your question hints at what may be your biggest obstacle.

To put it shortly, people hiring for programming jobs are generally not simply looking for (in your words) "Good programming ability in language."

Rather, they're looking for someone who understands the process of programming, in addition to just knowledge/ability in a specific language.

To use an analogy, imagine you're applying for a job in a bakery. You're an aspiring home chef and you can bake a great loaf of french bread at home in your own oven. Does that mean you're qualified to work in a place that churns out 1,000 loaves a day? Do you know how to order ingredients for that volume? How to stock and use ingredients in a big storeroom, versus your little shelf at home? Have you ever used an industrial mixer, or an oven that large?

As a math major, the obstacle will not be showing that you know syntax for a specific language. The obstacle will be showing that you have the entire process down, as well as someone who studied and worked professionally as a programmer.

You may have these other skills as a result of your "on the side" experience, but unless you work hard to show that in you resume, it will be assumed you don't.

So - don't focus on the fact that you're a math major. Focus on understanding the job, learning what it takes to be good at it, getting that experience, and then showing it on your resume.

  • Is it possible to demonstrate a wider understanding of the job despite having no professional experience as part of a development team? I have spent some time researching practices such as SCRUM, version control, pair programming etc, but until I secure the first role I fear such research is somewhat academic in nature. – Trawkley Jun 5 '18 at 20:01
  • I think you're exactly right, you have (at best) an academic understanding and not real experience. That's not a critical problem, but it does mean you will likely get weeded out of many interview processes. Remember though, half the battle of getting a job is being selective about the opportunities you pursue. Either look for employers who expect less formality in your experience, or look for one where you can combine your math background and your programming background (perhaps developing software related to math) in a way that lets you get a "foot in the door" with some real experience. – dwizum Jun 5 '18 at 20:12
  • What should not be forgotten is that being a programmer is more than an "Good programming ability in language.", he should most likely be familiar with different programming techniques/patterns/antipatterns/conventions, too. – bam Jun 14 '18 at 9:18
2

Would an employer consider a maths grad with basic programming experience, but with proven potential to learn quickly and understand complicated concepts, equally to a computer science graduate with greater programming experience?

Yes, but you're looking for a specialized sub-field of computer programming. You'll need to research which sub-fields utilizes your stronger math skills and with what programming languages, and then seek those positions at an entry level.

  • 3D computer graphics programming (C++)
  • Artificial Intelligence (Python)
  • Biometrics Research (R, Python, C++)

The above fields tend to respond positively to candidates with strong math skills who are seeking an entry level as a programmer.

As an example, Pixar is known to hire math graduates and then teach them how to program. When you're trying to build software that performs physics simulations a math background becomes far more important.

There are many other tech companies who need math majors.

0

Compared to a CS graduate you are not at much of a disadvantage. The most important thing you get from a STEM degree is training in how to think about complex problems. You are equal or better than a CS graduate in that regard. Maths and CS graduates typically don’t have much exposure to a lot of the technologies that are important in the workplace, such as build and deployment systems, application frameworks, etc. You can probably code as well as many CS graduates. You may be missing some software design skills, nothing you can’t teach yourself.

You are interested in C/C++. There are 3 reasons I can think of why an organization is using C/C++:

  1. The have a legacy C/C++ code base.

There are organizations running legacy line of business applications written in C/C++. These applications wouldn’t need much maths knowledge to maintain. The often don’t use modern C++ constructs and therefore a deep knowledge of C++ is not essential. What you do need is a knowledge of the problem domain and the libraries used. You can learn that on the job. What should important is that you can cope with enough complexity to understand old code which was written by many people. Being smart enough to earn a maths degree is good sign.

  1. Software interfacing with hardware

These applications don’t require strong math skills. However, developing system software for controlling hardware often has specific requirements around runtime and some complexity when thinking about things such as the sequencing of asynchronous events and feedback loops. Having learned techniques such as dynamic systems analysis can help you understand these systems. However, in many cases, knowledge of electronic engineering techniques are more important to understand what the hardware is doing.

  1. Problems where optimizing some performance metric (run time, memory, etc.) is important

This may be sweet spot for you. Developing software such as database query analyzers are the obvious examples of such software. There are however many examples where considerations of run time performance are important. Many of these areas also require specific maths skill. Examples include everything from digital imaging processing to detect important features in video to detecting fraud in the bidding on online ad auctions. While machine learning approaches are popular in many of these domains many organizations rely on algorithmic approaches for the speed, scalability, and transparency they provide.

If you are also interested in Python, I'll also point out that many of the areas where strong maths skills are important you will find that the coding is often done in Python (or MATLAB) and then if performance is critical some specific code is written in C/C++.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.