# Using Math in Programming jobs

**URL:** <https://discourse.julialang.org/t/using-math-in-programming-jobs/74018>\
**Category:** Jobs\
**Tags:** question\
**Created:** [January 4, 2022, 8:40am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018 "2022-01-04T08:40:23Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![RonBackal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronbackal/32/32425_2.png) [@RonBackal](https://discourse.julialang.org/u/RonBackal)\
**Post date:** [January 4, 2022, 8:40am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/1 "2022-01-04T08:40:23Z")

</div>

Hi! New here everyone!  
I did start learning Julia recently because of my fascination with math, and I do love the different aspects of it. I was wondering what kind of programming jobs are there that actually use math extensively, and figured the Julia language community might be the best place to start.

---

<div class="post-metadata">

**Author:** ![mohamed82008](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mohamed82008/32/18171_2.png) [@mohamed82008](https://discourse.julialang.org/u/mohamed82008)\
**Post date:** [January 4, 2022, 10:00am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/2 "2022-01-04T10:00:23Z")

</div>

There are programs for many things, some slightly mathy, some heavily mathy and some not mathy at all. For example, web development is common in the programming job market but it doesn’t use a lot of math generally speaking. But you may still find yourself doing some simple math like dividing the screen width by the width of some widget to decide how many widgets to put on the screen. Database design is another “programming area” that barely requires any math.

On the other hand, if you are working on a differential equation model to predict climate, simulate space missions, analyse mechanical structures, simulate drug effects in the body, or simulate a chemical reaction at the molecular level, you will need a fair amount of “domain knowledge” which typically includes a lot of math and physics/chemistry/biology. But this is not different to any programming job in general. For example, if you are programming the control system of a car or a plane, you will need to know a fair bit about cars or planes. So pick a domain first then learn what you need for this domain. The math is generally transferrable but the physics/chemistry/biology is less so. Meaning the math you learn for simulating mechanical structures may still be all the math you need if you start working on simulating drug effects in the body but you will need to learn the physics/chemistry/biology of the new job.

---

<div class="post-metadata">

**Author:** ![RonBackal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronbackal/32/32425_2.png) [@RonBackal](https://discourse.julialang.org/u/RonBackal)\
**Post date:** [January 4, 2022, 10:26am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/3 "2022-01-04T10:26:47Z")

</div>

Thanks for that!  
That is actually a nice coincidence because I just saw your video on automatic differentiation.  
From all the above mentioned, I did actually develop a curiosity for control systems, and bought a book about the subject(Nonlinear Dynamical systems and control), but I am a far distance from actually understanding the subject in a level I can work at.

I do try to find some ideas of subjects I can pursue that I would like to put effort to learn. Also I do wonder if I can get there without the academic route.

Thanks

---

<div class="post-metadata">

**Author:** ![lawless-m](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lawless-m/32/30869_2.png) [@lawless-m](https://discourse.julialang.org/u/lawless-m)\
**Post date:** [January 4, 2022, 11:04am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/4 "2022-01-04T11:04:57Z")

</div>

My job title is “Data & Performance Analyst”

I have a Masters in Data Science

I do plenty of math in my job but it is not generally very high level - a mixture of stats and computational geometry (for analytics based on geographical regions).

Currently I’m working on analysing sales data against geographical regions. I have our customer list, govt. supplied data ( [https://www.ons.gov.uk/](https://www.ons.gov.uk/) ) on demographics, regional GDP, worked hours etc. which is indexed using the Geographical data based on region ( [https://geoportal.statistics.gov.uk/](https://geoportal.statistics.gov.uk/) ).

In my work in factory maintenance I did more work on probability / curve fitting etc. and prediction which needed some calculus.

---

<div class="post-metadata">

**Author:** ![RonBackal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronbackal/32/32425_2.png) [@RonBackal](https://discourse.julialang.org/u/RonBackal)\
**Post date:** [January 4, 2022, 11:14am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/5 "2022-01-04T11:14:46Z")

</div>

Thanks for your reply!  
Actually I was thinking that Data Science is very mathematical, so thanks 🙂 ,  
I thought about Cryptography like elliptic curve methods, about control systems and dynamics, and physics related endeavors, though I am kinda far from actual working knowledge.

---

<div class="post-metadata">

**Author:** ![Nathan\_Boyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nathan_boyer/32/14825_2.png) [@Nathan\_Boyer](https://discourse.julialang.org/u/Nathan_Boyer)\
**Post date:** [January 4, 2022, 2:27pm UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/6 "2022-01-04T14:27:59Z")

</div>

I am an engineer not a mathematician or programmer, but I’ll give my two cents anyway. I obtained a Ph.D. in aerospace engineering where I learned a lot about mathematics and programming and used both extensively for my research. After graduating, there were some jobs available for me to continue in that field, but I would have had to move across the country. I decided instead to find the most technical job I could in my area which is a master’s-level mechanical engineering position. I still get to do some basic math and programming to evaluate designs, but nothing nearly as intensive as my Ph.D. research.

Do you want to be a specialized expert or broadly marketable? There are jobs for any field but there will be fewer the more specialized you are. The most marketable math right now is probably Statistics or Data Science. The most marketable programming right now is probably website and app development. For control systems, most jobs just want [PLC](https://en.wikipedia.org/wiki/Programmable_logic_controller) experience.

What is your current level of math understanding? If it is high school calculus, you may be in for a rude awaking when you hit rigorous higher-level college math like I did. It is really a different beast/mindset. That said, you may love it and find a mathematical specialization that really clicks with you. Just know that high-school math covers what you realistically need for 95% of jobs day to day.

My best advice is to just start _doing_ something. You will learn quickly by doing whether to dive deeper or pivot to something else. I didn’t really start programming until my senior year of college and boy do I wish I would have tried it out sooner; I may have become a developer rather than an engineer. Just dive in to something that interests you. If it stops being interesting, then do something else. The job will come, and everything you learn in the meantime will add value.

---

<div class="post-metadata">

**Author:** ![RonBackal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronbackal/32/32425_2.png) [@RonBackal](https://discourse.julialang.org/u/RonBackal)\
**Post date:** [January 4, 2022, 3:37pm UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/7 "2022-01-04T15:37:35Z")

</div>

Thank you Nathan!

---

<div class="post-metadata">

**Author:** ![Nathan\_Boyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nathan_boyer/32/14825_2.png) [@Nathan\_Boyer](https://discourse.julialang.org/u/Nathan_Boyer)\
**Post date:** [January 4, 2022, 3:42pm UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/8 "2022-01-04T15:42:06Z")

</div>

All of the math-focused jobs you mentioned exist and are worth looking into: nonlinear dynamical systems and control, data science, cryptography, physics-related endeavors.

> [@RonBackal](#):
>
> I do try to find some ideas of subjects I can pursue that I would like to put effort to learn. Also I do wonder if I can get there without the academic route.

I’m not sure if you mean “academic route” as a student or as a professor. All of the areas above will likely require a college degree, and much of the research in those areas will be done by professors. If high-level math is your main interest, the academic route is probably the best way to start.

If you are instead interested in jobs that use your current level of math without the need for a degree, those also exist. But then I would focus in the broad, marketable categories like web development or industrial control systems. Most broadly-available jobs don’t use that much math; the ones that do tend to be highly specialized.

---

<div class="post-metadata">

**Author:** ![tbeason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tbeason/32/15898_2.png) [@tbeason](https://discourse.julialang.org/u/tbeason)\
**Post date:** [January 4, 2022, 4:02pm UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/9 "2022-01-04T16:02:03Z")

</div>

Plenty of finance and related jobs using math and programming.

---

<div class="post-metadata">

**Author:** ![Nathan\_Boyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nathan_boyer/32/14825_2.png) [@Nathan\_Boyer](https://discourse.julialang.org/u/Nathan_Boyer)\
**Post date:** [January 4, 2022, 4:05pm UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/10 "2022-01-04T16:05:47Z")

</div>

That’s true. Finance is a good example. I can only speak to what I have been exposed to, so others are welcome to disagree with me. 🙂

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [January 4, 2022, 9:54pm UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/11 "2022-01-04T21:54:05Z")

</div>

> [@RonBackal](#):
>
> I was wondering what kind of programming jobs are there that actually use math extensively,

I would look at it the other way, most mathy jobs use programming extensively. In my area, image analysis, those jobs generally require at least a masters degree and frequently research training, i.e. a PhD. If that’s not your cup of tea there may still be a kind of backdoor. Look for companies hiring PhDs in some applied math kind of field. Then look for other programming jobs at those companies. Chances are that the research people will not bring their work all the way to a product and that there will be a need for more focused programmers to complete the work and that it will still involve some amounts of math.

---

<div class="post-metadata">

**Author:** ![RonBackal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronbackal/32/32425_2.png) [@RonBackal](https://discourse.julialang.org/u/RonBackal)\
**Post date:** [January 4, 2022, 10:12pm UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/12 "2022-01-04T22:12:27Z")

</div>

Sounds like a great idea. I do want to ask, because just today I looked at OpenCv and it looks really interesting: what kind of image analysis you do?  
And did you learn math as major?

---

<div class="post-metadata">

**Author:** ![graham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/graham/32/23781_2.png) [@graham](https://discourse.julialang.org/u/graham)\
**Post date:** [January 7, 2022, 3:07am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/13 "2022-01-07T03:07:33Z")

</div>

Are PLCs still the standard in industry, or has the transition to FPGA become widespread?

---

<div class="post-metadata">

**Author:** ![lawless-m](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lawless-m/32/30869_2.png) [@lawless-m](https://discourse.julialang.org/u/lawless-m)\
**Post date:** [January 7, 2022, 8:10am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/14 "2022-01-07T08:10:59Z")

</div>

They are two different questions.

PLCs are still widely deployed.

> **[SIMATIC controllers](https://www.siemens.com/global/en/products/automation/systems/industrial/plc.html)**
>
> Discover the world of SIMATIC controllers for your automation projects.

FPGAs can also be called PLCs these days. I’ve never head anyone in maintenance mention “FPGA”. That would be the choice of the integrator and you just have a control panel with software settings.

---

<div class="post-metadata">

**Author:** ![graham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/graham/32/23781_2.png) [@graham](https://discourse.julialang.org/u/graham)\
**Post date:** [January 7, 2022, 9:34am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/15 "2022-01-07T09:34:14Z")

</div>

Right, makes sense. I’m just starting my foray into controls, so my knowledge is very academic.

I should have asked: Do you anticipate a shift _away_ from ladder-logic-style controls, and towards low-level controls programming (Verilog style)? Sorry if that’s a dumb question, but I’ve seen a couple packages now that translate between the two, and coding is more and more ubiquitous amongst professions.

---

<div class="post-metadata">

**Author:** ![lawless-m](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lawless-m/32/30869_2.png) [@lawless-m](https://discourse.julialang.org/u/lawless-m)\
**Post date:** [January 7, 2022, 9:41am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/16 "2022-01-07T09:41:24Z")

</div>

I’m not at the right level in the structure to answer that. I’m from maintenance. We deal with what’s in the field and are not really consulted about, well, anything really 🙂

There are hundreds of thousands of PLC instalaltions, if not millions.  
Engineers are still being trained in PLCs at trade school.

The “Fourth Industrial Revolution” stuff for the most part is still very far from reality for most business. In the field things look like this

[https://tfautomation.co.uk/projects/case-studies/](https://tfautomation.co.uk/projects/case-studies/)

---

<div class="post-metadata">

**Author:** ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)\
**Post date:** [January 7, 2022, 10:36am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/17 "2022-01-07T10:36:56Z")

</div>

This post might be interesting:

> [@Job Ad: Wireless Systems Research Engineer at Julia Computing](https://discourse.julialang.org/t/job-ad-wireless-systems-research-engineer-at-julia-computing/62360):
>
> Julia Computing, one of the principal driving forces behind the Julia programming language, is seeking a Wireless Systems Research Engineer to aid in the development of a flexible, Julia-based stack for prototyping and development of a variety of different RF systems. A particular focus of this research project will be advanced beamforming using SDR-based fully digital phased array RF systems, building on top of Julia’s GPU code generation capabilities to enable high-throughput, near-realtime pr…

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [January 7, 2022, 11:07am UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/18 "2022-01-07T11:07:44Z")

</div>

> [@RonBackal](#):
>
> Sounds like a great idea. I do want to ask, because just today I looked at OpenCv and it looks really interesting: what kind of image analysis you do?

Search for “Farneback” in OpenCV and you should get an idea. 🙂 After my PhD I’ve been into medical imaging.

> [@RonBackal](#):
>
> And did you learn math as major?

I’m not from the US so that term doesn’t apply to my education but I guess you could say so. At any rate I didn’t have any trouble with MSc level courses in math and electrical engineering when I did spend one year at a US university.

As other people have said you really need college/university level math to get anywhere. Calculus alone won’t take you very far. Linear Algebra is quite useful, as are various fields of applied maths like statistics, numerical methods, operations research, and so on. Math also plays a big role in most engineering and science disciplines .

---

<div class="post-metadata">

**Author:** ![woolstar](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/woolstar/32/19992_2.png) [@woolstar](https://discourse.julialang.org/u/woolstar)\
**Post date:** [February 3, 2022, 10:19pm UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/19 "2022-02-03T22:19:35Z")

</div>

Obviously the people working in space on rocket and spacecraft trajectories are doing a lot of math. People working in computer graphics/games end up doing a lot of kinematics and physics simulation.  
In modelling/simulation (economic, biology, etc), there is a fair amount of mathematics.  
And there is some complex math in encryption research and cryptocurrencies.

However you will find that often the hardest problems in some of these domains is not the math itself, but some other engineering aspect of the problem. Even when I wrote ray tracers a thousand years ago, the math was relatively straightforward and a lot could be copied out of a book, while the data structures, and model processing took man years of effort and could have order-of-magnitude effects on performance if you got them wrong. Synthetic aperture radar in remote sensing is another area where there’s plenty of math, but also a fair amount of work just handling the data.

It is said that science is the job of determining what’s possible. Engineering is the job of making the possible, practical. A lot of my career has been focused more on the later than the former.

– Derek W.

---

<div class="post-metadata">

**Author:** ![sashmit](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sashmit/32/18791_2.png) [@sashmit](https://discourse.julialang.org/u/sashmit)\
**Post date:** [February 3, 2022, 11:26pm UTC](https://discourse.julialang.org/t/using-math-in-programming-jobs/74018/20 "2022-02-03T23:26:25Z")

</div>

> [@graham](#):
>
> I should have asked: Do you anticipate a shift _away_ from ladder-logic-style controls, and towards low-level controls programming (Verilog style)? Sorry if that’s a dumb question, but I’ve seen a couple packages now that translate between the two, and coding is more and more ubiquitous amongst professions.

Rodney Brooks (CSAIL, iRobot, Rethink Robotics) doesn’t think plcs and ladder logic are going anywhere anytime soon.

Listen to this interview, it’s pretty good:

> **[Rodney Brooks on Artificial Intelligence - Econlib](https://www.econtalk.org/rodney-brooks-on-artificial-intelligence/)**
>
> Rodney Brooks, emeritus professor of robotics at MIT, talks with EconTalk host Russ Roberts about the future of robots and artificial intelligence. Brooks argues that we both under-appreciate and over-appreciate the impact of innovation. He applies...

I would say ladder logic and something like Verilog support very different use cases.
