
Ask HN: What's the highest math level you need to be a hacker? - acidfreaks
BTW I&#x27;m not good at math but I would love to after taking some Online courses available. I&#x27;m wondering what&#x27;s the highest math level you need to be a good Hacker?
======
Someone1234
I don't know what "hacker" means in this context.

In general most programming requires middle school levels of maths if that. A
lot of maths knowledge higher than that is similar to programming, but
learning the maths itself doesn't really make your code better in and of
itself.

That being said there are specific jobs that require much much higher levels
of maths in particular statistics, physics, and similar. But the vast majority
of programming jobs are just business-information which requires near to none.

I don't use any non-trivial maths day to day and haven't since the start of my
career. But I don't work in the science/economics/games development fields, I
work in one of the many "boring" programming jobs. We are the silent majority.

~~~
BWStearns
Agreed on the middle school levels. I'm also in the "boring" programming jobs
section, even though I don't find it boring.

Also, if you're coming from a non-maths background I've found you occasionally
"discover" some little bit of math in the process of coding something up. It's
a nice bonus when you find something interesting and look it up and it clicks
instinctually because you were wrestling with a concrete example of the idea.

------
MalcolmDiggs
Algebra II is probably necessary (you at-least need to be very comfortable
with the concept of variables). Stats couldn't hurt. Any math class that
teaches you proofs will be helpful when you stat tackling BDD/TDD.

But overall, I'd say that taking a formal logic class (usually part of the
Philosophy Dept at most colleges), will be the most bang-for-your-buck.

~~~
wprapido
having studied philosophy helped me more as a developer than anything else

------
drallison
Haven't you gotten it backwards? You appear to be interested in what is the
lowest level of math needed to be a "hacker". Of course, the question is hard
to interpret as the term "hacker" has a multiplicity of folk definitions. Most
of my colleagues think that "hacker" and "polymath" are synonymous and see it
as a positive term. Other folks often think "hacker" describes people who
maliciously break into secured computer systems and view them as pariahs.

In truth, computer programs and problem solving don't _require_ deep
mathematical knowledge, but it helps.

------
sharemywin
The problem I see is a math problem and a computer problem both involve
problem solving. So, if you don't enjoy problem solving then I doubt you'll
enjoy programming. Not that you can't become a proficient programmer, but if
you don't enjoy thinking about something until you "get the answer" I doubt
you'll like your job.

~~~
dalke
There are many different types of problem solving. For example, diplomacy is a
type of problem solving. So is plumbing repair.

Even in programming, I found that I like solving problems with a physical
basis, but not more business-oriented problems like equipment management and
payroll, or financial problems like derivatives pricing.

I therefore don't think it's useful to consider this as a "problem solving"
issue.

~~~
sharemywin
But you like solving problems. A lot of people don't. They also tend not to
like higher level math. Can they learn to program yes but, will they enjoy it
probably not.

~~~
dalke
We are talking about the OP, not "a lot of people".

A lot of people like problem solving, even though they don't specifically like
the sorts of problems addressed in most math courses.

There are also many programming problems which have little to do with those
math problems.

I see no reason to believe that this OP is not interested in solving problems.
Even if there is a anti-correlation to "problem solving" and easy of learning
math, I don't think it's strong enough to make a recommendation to stay out of
"hacking" or programming in general.

I also protested the implicit restriction of the term "problem solving" to
mean a certain specific type of intellectual problem.

------
edimaudo
Rather than focusing on math maybe this might help
[http://www.catb.org/esr/faqs/hacker-
howto.html](http://www.catb.org/esr/faqs/hacker-howto.html)

------
Spoom
For most programming jobs, high school algebra (and then really only for the
concept of variables).

Add trigonometry and potentially calculus for 3D graphics, game development,
and high finance quant stuff.

------
dalke
I think statistics and then discrete mathematics are the most important.

Here's an old rant by Shaw on the importance of statistics for programming -
[http://zedshaw.com/archive/programmers-need-to-learn-
statist...](http://zedshaw.com/archive/programmers-need-to-learn-statistics-
or-i-will-kill-them-all/) .

Beyond those two, it depends very much on the type of programming you do.

------
27182818284
The thing about math is that it isn't a requirement for most things in life,
but there are almost zero things that aren't _helped_ by learning math

~~~
dalke
I believe the question is one of prioritization. More things in life are
helped by learning business mathematics than learning K-theory.

~~~
27182818284
>More things in life are helped by learning business mathematics than learning
K-theory.

I thought about that before writing my comment, but then I changed my mind.
For all I know K-theory could be more helpful to a person than business math.
I think people were pretty surprised by the impact of eigenvectors in the last
15 years

~~~
dalke
True. But the OP is asking for advice on what to do next. It's hard to take
any action on "for all I know".

Based on population counts, knowledge of business math is useful to many more
people than knowledge of K-theory. While tensors, eigenvectors, etc. are
important for my daily life, the are as behind-the-scenes as plumbing,
materials engineering, and farming; that is, I benefit from people with that
knowledge, though I know almost nothing about them.

------
mrits
There are a ton of things from math or many other sciences that can assist you
in problem solving. However, if you made it through algebra and spent a few
weeks studying a discrete math book I think you'd be fine. Algorithmic
complexity interview questions would be easier to understand if you were more
familiar with what graphics of logs and exponential functions look like.

------
dozzie
#define "good hacker"

------
Wonnk13
Linear Algebra. If you understand how to manipulate matrices and vectors you
can get pretty far.

------
imauld
10

------
hydandata
TL;DR; When you can read this book [6] and do all exercises in it without any
issues you can safely stop and be sure you are very well versed in vast
majority of subjects that you might encounter while hacking on whatever in
most technical fields.

You can be a hacker and get by with very little math, depends what you are
hacking. Hacking is not a profession, it is more of an approach to things, a
way of looking at the world, the joy of really figuring stuff out and maybe
doing something cool, something that might have seemed impossible. This does
usually involve mastery, but not necessarily of mathematics.

I think the question you should be asking, or maybe are even asking is - how
much mathematics do I need to hack the hack that I want to hack? - and the
first thing you need to do, if you have not already done so is try to think
about what that might be. Even a vague idea will give you plenty of clues
about how much of what you might need for that.

If you find it troublesome, check out what Richard Hamming has to say about
it, it should help you out a lot with figuring it out [1][2].

That said, if you want to do computer science, or hack on the _interesting
things_ you do need quite a bit of mathematics. This is due to the fact that,
as other posters here have pointed out, what you are really in need of, is an
effective way of problem solving, and to solve a problem you need to
understand it, model it, work on it in some terms. Mathematics is /the/ method
of clear thinking which you should apply in order to do this. Sure, you can do
certain things without mathematics, but you are not making things any easier
for yourself by doing that, and more importantly you are not gaining as much
insight as you would have if you used the mathematical approach.

Now, you do mention that you are not good at mathematics, do not let that
discourage you, there are many people who were, or are in similar situation as
you, me included, and I can assure you that with some dedication and open
minded thinking, it comes easier than you might think, and all this effort
almost instantly pays off. If you are familiar with one or several programming
languages, check out these amazing books and use them alongside whatever
mathematics course you will be taking, they will help you out immensely by
helping you master both the problem solving approach and the necessary
concepts in order to succeed in mathematical education [3][4][5].

[1]
[https://www.youtube.com/playlist?list=PL2FF649D0C4407B30](https://www.youtube.com/playlist?list=PL2FF649D0C4407B30)
[2] [http://worrydream.com/refs/Hamming-
TheArtOfDoingScienceAndEn...](http://worrydream.com/refs/Hamming-
TheArtOfDoingScienceAndEngineering.pdf) [3] [http://www.amazon.com/Language-
Mathematics-Utilizing-Math-Pr...](http://www.amazon.com/Language-Mathematics-
Utilizing-Math-Practice/dp/0470878894) [4] [http://www.amazon.com/How-Solve-
Mathematical-Princeton-Scien...](http://www.amazon.com/How-Solve-Mathematical-
Princeton-Science/dp/069116407X) [5] [http://www.amazon.com/How-Prove-
Structured-Approach-2nd/dp/0...](http://www.amazon.com/How-Prove-Structured-
Approach-2nd/dp/0521675995) [6] [http://www.amazon.com/Methods-Mathematics-
Calculus-Probabili...](http://www.amazon.com/Methods-Mathematics-Calculus-
Probability-Statistics/dp/0486439453)

