DEV Community

Ben Halpern
Ben Halpern

Posted on

How important are math skills for software development?

I'm sure there are different opinions on this, so let's hear them!

Latest comments (66)

Collapse
 
tchaflich profile image
Thomas C. Haflich

A little math is necessary - gotta know how to add and multiply and whatnot.

Algebra and geometry help if you're doing any UI work.

Knowing how to do statistics and modelling is very helpful for doing reporting, dashboards, and the like.

Really, the more types of math you know the more different types of programming projects you can have a head-start in.

Collapse
 
lucpattyn profile image
Mukit, Ataul

The only reason the state of AI and other programming fields are so poor and backward at the moment is most people in Software field are horrible in maths

Collapse
 
theodesp profile image
Theofanis Despoudis • Edited

At the minimum level you need to study discrete maths(sets, combinatorics, graph theory, logic) and linear algebra (matrix multiplication) as they are mostly related to CS. Grab a few books for reference and you should be fine.

Collapse
 
leob profile image
leob

Not really, unless you work with stats or (data) science. I do think that many devs tend to be interested in math & science, but you can pretty much learn programming perfectly without having a clue about Pythagoras or having the faintest idea about calculus.

Collapse
 
mattmcadams profile image
Matthew McAdams

As a web developer, I think basic algebra is enough to solve most problems. I’ve found that I do a LOT of math, but it’s usually just complex combinations of basic math.

I’d say problem solving skills are more important than math specific skills, though having a good grasp of math vocabulary can help a lot

Collapse
 
jankapunkt profile image
Jan KΓΌster

Try to implement a proper rotation in 3d space or get the exact intersection point of two spheres and you immediately remember why the math stuff was considered so important back in class.

Collapse
 
lampewebdev profile image
Michael "lampe" Lazarski

It's not the math itself that is important.

It is the thinking you learn while you are learning math!

Will, you ever need to calculate Three-dimensional Matrices?

Maybe you don't know!

But what you learn while doing math is to think in a structured and abstract way. You learn to generalize and in the end, isn't that what we do as developers?

We abstract and solve problems that where when I input X I will get Z out.
And this is even true for machine learning but we just don't know what was their way from X to Z.

I see this also with junior developers that are self-thought and junior developers that are coming from the university.

Collapse
 
rachelsoderberg profile image
Rachel Soderberg

I'd say algebra is essential (a variable is essentially x = 1 + 1, but with code stuff). Once or twice I've had to do something slightly more complex, but never anything beyond advanced algebra.

Pretty sure it depends on the field, though, because I can imagine some software engineers in the medical or science fields needing to know calculus and physics at the very least for some of the equations they'd need to calculate/automate.

Collapse
 
dothtm profile image
dotHTM

ahem Do you mean "Arithmetic"?

Collapse
 
scrabill profile image
Shannon Crabill

For me, knowing that I could do math with code (Ruby, Javascript, etc) help the basic concepts click for me. But, now that I am deeper in, I'm not sure how relevant it is when it comes to object-oriented programming.

Collapse
 
casen profile image
Casen

I think they are very important if you're going to take your career far. I think most people are confused when they hear "math skills." It's true that few of us are cranking out complex analysis in our day jobs, or solving programming challenges by mathematically describing in them on a chalkboard. But I do believe that the more one has done in math, the more one is capable of in computer science.

The difference is between a carpenter who can build a house, and a structural engineer who can build a sky scraper. A foundation of math will allow you to take on vast problems without fear, and it allows you to think further and more clearly about software systems.

Collapse
 
iamandrewluca profile image
Andrei Luca

I mean, you have to know minimal math

const exactPercent = totals[index] / totals[0] * 100
const percent = isNaN(exactPercent) ? 0 : exactPercent - Math.floor(exactPercent) === 0
  ? exactPercent
  : exactPercent.toFixed(1)
Collapse
 
banzyme2 profile image
ENDEESA • Edited

Basic math skills are enough in most cases, you don't need to know crazy stuff like vector calculus etc.

But then again, the domain you work on determines whether you need to know complex math, physics or whatever you need to create a high quality business solution

Collapse
 
samithaf profile image
Samitha Fernando

I used to work in a real-time trading software applications development firm and at that time it was pretty important. Then after few years I worked for a digital media firm so didn't needed to have any math skills;)

Collapse
 
mazentouati profile image
Mazen Touati

It depends on the project. Sometimes, you may encounter an isolated very hard mathematical problem. You may get some help from a mathematician or search for a formula in google then use it blindly Yay it works then move on. If you're interested enough you may invest some time trying to understand it. Sometimes, your application is totally based on mathematical or physic problems ( Complex Games ) in that case you really need to boost your knowledge about math.

For instance, Once I was struggling to find a solution how I can find the nearest city ( from my database ) in a defined distance using longitude and latitude. First, I tried using some external service to fetch all nearest cities and filter only what I have in my database but that wasn't very accurate and practical. My problem instantaneously solved once I knew that there's something called "The Great Circle Distance Formula". Here is an article I just found now explaining exactly what've faced Fast nearest-location finder for SQL (MySQL, PostgreSQL, SQL Server), it's very interesting.