Is being good at mathematics a precursor to being a good programmer?


I'm a non-technical founder and want to delve into learning a small amount of programming skills. I feel it will help me a lot in avoiding some basic pitfalls.

Most of my development is done by contractors on Elance and Odesk so this would come in handy (being able to better communicate with software engineers, etc.).

Would you say that being good at mathematics is required to learn how to program? The Reason I ask is because I'm terrible at it.

Code Software Engineers Programming

asked Apr 10 '14 at 13:56
Michael Reid
14 points

2 Answers


It helps, but depending on the product, you probably won't need a whole lot of math.

Programming requires lots of arithmetic, but most people -- even those who claim to not be good at math -- know arithmetic well enough to program (addition, subtraction, multiplication, division, working with fractions and decimal values, etc.).

It also helps if you know some algebra. Mathematical variables and programming variables are very different from each other (a label for an unknown quantity vs. a label for a storage location) but being able to do some algebra like simplifying formulas or "solve for x" type things can be useful.

However, for most projects, that's about where it ends. You don't need to know about trigonometry, geometry, linear algebra, or calculus.

While there's a tendency for programmers to be good at math (and don't get me wrong, it's a very useful skill, and I'd take a programmer who knows math over one who doesn't any day) it's definitely not required to be great at math to be able to program, assuming you're not working on a product that requires a lot of math (graphics programming, physics simulations, etc.).

answered Apr 10 '14 at 20:10
3,465 points


I agree with @rbwhitaker's answer. The basic mathematical knowledge you likely already have is more than sufficient for most use cases while coding. It's not until you delve into more complex areas of programming (graphics, NLP, etc) that you would need to learn more advanced concepts.

If you haven't yet decided on a programming language (or even if you have), I'd recommend giving this 15 minute Interactive Ruby tutorial a try.

answered Apr 10 '14 at 20:19
Nishank Khanna
4,253 points

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

Code Software Engineers Programming