DEV Community

Cover image for Do you need to be good at math to be a programmer?
Jima Victor
Jima Victor

Posted on • Updated on • Originally published at webcodespace.com

Do you need to be good at math to be a programmer?

So you want to get into programming or you've already been programming and you've been hearing a lot of people saying you need to be good at math in order for you to be successful as a programmer.

So you are now wondering if math is really necessary for you to become a good programmer.

This question is one question that is really common among beginners, especially those who do not have any background in mathematics or any STEM related field for that matter.

Well, the simple answer to this question is no. You do not need Einstein level mathematics to be a programmer and you do not need to be good at math in order to start programming.

Now, will the knowledge of mathematics be helpful in your career as a programmer? Yes! Definitely! But it is not necessary. If you are already good at math, it will set you at a better position when it comes to learning and if you are going into an area like machine learning or game development, then you are really going to need mathematics.

Come to think of it, mathematics is just a tool for analysis and problem solving. Mathematics helps in problem solving the same way programming languages have been created to enable us communicate with computers. Both our programming languages and mathematical skills can be considered as tools. What i like to consider as the real skill is critical thinking and problem solving.

So the real question should be "do you need to be a good problem solver in order to be a good programmer?" And the answer to that is a resounding yes. Although, this is not really required when you're just starting out, but if you are going to be a good programmer, you need to be a good problem solver at some point.

The reason why a lot of beginners struggle with programming is because they are not yet very conversant with the new way of thinking and solving problems using code and this is what bring about the long hours in front of a computer trying to figure things out. But as your skills develop, you'd become a lot faster in figuring things out by yourself.

Programming is a field that tests your ability to research and think critically. And these are skills that will gradually improve with time as you continue programming.

So as a programmer, you now know you need to be a good problem solver. Now the next question would be "how do you improve your problem solving skills as a programmer?". Well, the only real way to do that is by consistently solving problems that are a little above your level. You don't want to do anything too easy because you're not going to improve, or anything too difficult because you're more likely to give up. Just move one step at a time at your own pace.

Here are some websites you can actually use to improve your problem solving skills.

Programming is a field that really improves your ability to solve problems and the skills you acquire in programming can be very much applied in other areas of your life.

Always remember, you can be given any problem solving tool to solve a problem with, but as long as the problems don't change, the algorithms remain the same.

Discussion (20)

Collapse
citizen428 profile image
Michael Kohl • Edited on

I've been programming since the 90s and did a (unfortunately unfinished) Bachelor's in mathematics. I can count the times I needed maths that go beyond the high-school level at work on one hand with fingers to spare.

A few years ago I worked at a machine learning startup but even there, it wasn't really a bid deal. You mostly use things other people wrote and the occasional exploratory data analysis you do before that pretty much only requires stats 101.

I do graphics programming as a hobby, mostly ray tracers. That's probably the most math-heavy development I do. It's good to have a basic understanding of linear algebra but I've seen people pick it up well enough, most books on the topic have decent intros or visually help you build intuition with illustrations.

Probably the most useful aspect of my math education in my day to day is what I learned about reasoning, both inductive as well as deductive.

Collapse
ravavyr profile image
Ravavyr

The funny thing here is, ray tracers are pretty damn hard to do. You've just been doing it so long you don't think it's "that math-heavy" anymore lol.

I've seen many a game dev curse for hours and hours trying to make custom ray tracers and shaders :)

Collapse
citizen428 profile image
Michael Kohl

Sorry, I didn't mean to sound dismissive.

I only started ray tracers as a hobby in 2020 when I got bored during the pandemic, so I haven't done it particularly long either. 🙂

But I think sites like scratchapixel.com/ (which unfortunately I only found later) do a very good job at explaining the basics without being overwhelming.

Thread Thread
ravavyr profile image
Ravavyr

That's the other thing, there are so many different resources available now, but many tutorials aren't written professionally so you only get half the info you need or in some cases they go "install X" and move on, leaving you spending half a day figuring out how to install X before you can continue.
Thanks for that link.

Collapse
Sloan, the sloth mascot
Comment deleted
Collapse
ishanpro profile image
Ishan Tiwari

Yes, the fields which matter the most are Statistical Mathematics and basic Arithmetic amongst many others.

Maths is a useful tool. It has so many applications that you can't run away from it.

Even If frontend Developers don't need "advanced math" they need basic mathematics to solve problems in margins, padding, box-layout and more things like that.

Collapse
neoprint3d profile image
Drew Ronsman

Yeah I need to build some basic algorithm for recommending users and having assigning weight to it. Advance math really helps solve a lot of problems

Collapse
mistval profile image
Randall

I like to say that 99% of the math I do as a programmer is adding one to something.

Outside of certain domains, advanced math is rarely needed for programming.

But I think there's a lot of overlap between people who are good at math and people who are good at programming, because the way good mathematicians and good programmers approach problems can be very similar. Breaking it down into smaller parts, deriving intermediate results and building them up into the final result, etc.

So I'd say that having/developing a mathematical mind will help you be a good programmer, but understanding advanced math concepts is rarely necessary.

Collapse
ravavyr profile image
Ravavyr

Those For loops are sure skewing the data ;)

Collapse
dinhanhx profile image
Dinh Anh Vu

I agree with you. One don't need to be good at math to be a programmer. However, one should know (as in how to carry on basic math operations or to use internet to search for formula). Honestly, I am not good at math but I'm good at instructing the machine (programming) to do math.

Collapse
jimajs profile image
Jima Victor Author

I really appreciate your knowledge of this

Collapse
ravavyr profile image
Ravavyr

Personally I think Programming requires a certain level of "mathiness" in a person.

Where Web Development [which is what I do] requires far less and is far simpler to do. Web is also more artistic in that much of what we do is "in the eye of the beholder" versus strict rules to follow. And we're beholden to "the design" and "business needs" that are about as fixed as a drunk guy stumbling out of a bar at 3am. What makes web hard is keeping up with the changes and being flexible enough to adjust everything on a whim in the interfaces, little math involved.

When writing programs, eg desktop stuff like microsoft office, filezilla, or browsers, etc, there's a lot more "mathiness" to them, where most websites at most handle some click events and have a few database queries that don't get more complex than joining two tables. Game development is also programming as far as the mathy complexity goes. When dealing with matrixes or 3D object manipulation/detection, those things get "mathy" quick. If you don't think those thngs are mathy, it's because you're a mathy person who gets it. A great many of us, just don't.

There are exceptions to every rule and every generalization has holes in it, but this is what i stand by.

Collapse
jimajs profile image
Jima Victor Author

Well said friend!👏 👏

Collapse
jakecarpenter profile image
Jake Carpenter

I got a degree on the business side with a focus on software development. I was a calculus class short of a minor in CS. I took a lot of programming courses with CS students though, and don’t regret avoiding CS at all. The math would have frustrated me for nothing.

Not to say that the marketing course didn’t frustrate me…but at least that was just one course.

Collapse
harshadpk profile image
Harshad pk

I agree. but with enough practice, anyone can become good at math. just like programming.

Collapse
steelwolf180 profile image
Max Ong Zong Bao • Edited on

Not much to the point you need in a job. Unless your interviewing for FAANG then you will need it, but other than you won't really need a lot of it to be effective and successful as a developer.

Collapse
jeremyf profile image
Jeremy Friesen

I have a degree in Mathematics and have been programming since the 90s. I've done very little mathematics beyond algebra in my programming.

Collapse
nogueiralucas profile image
Lucas Nogueira

Great article, friend! Congrats

Collapse
jimajs profile image
Jima Victor Author

Thanks!

Collapse
cess11 profile image
PNS11

Do you need to be good at graphic design to work with it?

No, but you'll likely have to sell your labour cheaper than those who are.