

Ask HN: Can below average math guys become better programmers? - technology

So I don't have a good background in math skills. Should I skip trying to learn programming and focus on maybe Sales/Management ?
======
damoncali
You dont need math at all. I learned to program when I was 12. At the time, my
math skills topped out at long division.

Then I went to engineering school. I had taken calculus in high school but
failed. I failed calculus again in college. Twice (two different courses, once
each). Eventually I gutted through it all and learned it, got my degree and
went on to an enlightening, but short career in a very math-heavy role -
structural dynamics.

Fast forward, and I do web development for a living. Not once* have I done
anything in programming that required skills beyond those that I had when I
was 12.

So you tell me, am I above average in math skills or not? I haven't a clue.

* I lied. I did build a ballistics calculator once - but that is a very specialized niche of programming. I can assure you there is little to no math in CRUD apps.

------
andrewroycarter
It also depends on what you're programming. I do iOS apps, which is basically
just displaying pictures and grabbing data from the Internet-- no fancy math
needed. Though I've been dabbling in OpenGL ES 2.0 recently and the shaders
are kicking my ass with math!

------
vbtemp
This isn't a direct answer to your question - but why not work on obtaining a
better background in mathematics? I guarantee you it isn't as hard as you
think. Until you are at the very highest levels of numerical analysis or meta-
mathematics, it's not beyond the cognitive capabilities of the average person
- most people just give up and rationalize it by thinking it's beyond them.

Why is your math background so weak, in your opinion? If the answer is that
you didn't put in the time, energy, and focus to learn it the first time
around, then you have other problems beyond a weak mathematical ability. If
it's that you never had good instruction, then it's worth the investment to
find it.

~~~
technology
Recently I started getting interested in math and science after connecting the
dots using systems thinking. Several stuff in math is interrelated to
different pieces within it. I didn't knew that at the time when I was in
school. Yea I can become better at math, but I'm not sure if I should just
focus on my strengths or improve my weakness i.e maths which can take alot of
time. Maybe I can focus on things which will have big impact in my life ?

Yea I didn't had good instructure. I also changed alot of school during
childhood, that may had changed curriculum alot of times and my basic math
skills were messed up. Here in India they don't teach you much. Students here
are more interested in getting that piece of certificate(graduation degree)
and showing it to the employer rather than thinking about what to do with the
knowledge they have. Sometimes they don't even have knowledge cuz they just do
rote learning without connecting the dots or understanding the concepts.

I downloaded couple of ttc lectures, and they explain these stuff in a awesome
way.

------
DanBC
Mathematicians tend to be good at solving puzzles. "Read the problem; state
the problem; state what you know and what you need to know; think about how
you find what you need to know and how to get there.".

That's pretty handy skill for programming.

Some people think that programming is an inherent skill -
[http://www.codinghorror.com/blog/2006/07/separating-
programm...](http://www.codinghorror.com/blog/2006/07/separating-programming-
sheep-from-non-programming-goats.html)

Other people suggest that you just need to do it. (All those "Learn X the hard
way".)

I'd be interested to know what the research says.

------
blcArmadillo
I find if you're good at applying logic you'll do just fine programming. Math
really helps when trying to prove why good logic is right. Plus most math used
in CS is just powers of two and basic algebra... nothing fancy.

------
debacle
The kind of math you need for programming (except in games, analysis, or other
specialized subsets of programming) isn't trig/calc/etc. It's just simple
logic, and except in that rare instance once you start speaking the language
you don't even think about the fact that what you're writing are mathematical
statements, it just comes naturally.

A lot of people get confused about the math requirement for programming. You
don't need to know what 356^84 is, you just need to know how to tell the
computer to calculate 356^84.

It's surprisingly easy once you get started.

~~~
cannuk
I strongly agree with this. Remember that being a good developer has as much
to do with creativity and in some respects artistry as it does with algorithms
(see PG's essay Hackers and Painters <http://www.paulgraham.com/hp.html>). The
tone of this question is a bit concerning though. Why are you currently a
programmer (if that is the case)? Do you enjoy building things by writing
software? Do you want to solve more advanced technical problems that might
require higher level Math? Or are you considering a different path because you
are tepid about programming? This career, in my estimation, is something you
need to have passion for. So make sure whatever you decide that part is true.

------
zinbiel
Depending on what you want to program, lack of math knowledge might mean
you'll have to dig a little deeper into some subjects at first and gain that
missing knowledge. But that's it. Just some extra time. Go for it :)

------
technology
Well I'm specially not good at calculus, geometry, probability etc. I can do
algebra and statistics after some practice.

------
wfunk
You'll be fine.

~~~
RollAHardSix
*As long as you aren't hoping for a university degree. Saw many, many, many below-maths students not able to complete a CS Degree and some not even Software Eng. because of a lack of Mathematics skills.

However, you're ability to conceptualize, use, alter, convert, code, write
modules, etc won't be effected as long as you put in the necessary effort.

~~~
Tangaroa
Seconding this. In senior year of university, the math requirements of the CS
track went from second-grade arithmetic to being expected to have finished
your math minor. It was quite the jarring shift.

If you want to program, you don't need to know much in the way of mathematics.
If you want to program well, knowing advanced math will open up new
possibilities for problem solving. If you want a CS degree, start taking math
courses now.

