
How essential is Maths? - jackson_1
I&#x27;m in my final year of studying computer science&#x2F;programming in university. I&#x27;m pretty good at programming, infact I&#x27;m one of the top in my class. However, I struggle with my math classes, barely passing each semester. Is this odd, to be good at programming but be useless at maths?
What worries me the most is what I&#x27;ve read about applying for programming positions in places like Google and Microsoft, where they ask you a random math question. I know that I&#x27;d panic and just fail on the spot...
edit: Thanks for all the tips and advice. I was only using Google and Microsoft as an example, since everyone knows them. Oh and for all the redditors commenting about &#x27;Maths&#x27; vs &#x27;Math&#x27;, I&#x27;m not from the US and was unaware that it had a different spelling over there. Perhaps I should forget the MATHS and take up English asap!
======
adamwulf
How do we report spam users?

jackson_1 seems to be both "final year of studying computer science" and "So
I'm a 3rd year electrical engineering student"
([https://news.ycombinator.com/item?id=11825550](https://news.ycombinator.com/item?id=11825550))

the text from both of those questions mentions reddit, and can be googled and
traced to ~2010...

------
ralmeida
Depends a little: essencial _for what_?

Also, "math" is a very, very broad term. What comes to your mind when you
think of "math"? Arithmeric operations? Being good at mental calculations at
the supermarket? High-school-level math? Calculus? Discrete math? Abstract
algebra? The answer to this question alone may point out the fact that you
struggle with a specific branch of math, not with math as a whole.

That being said, I don't think it's _essential_ for _most_ coding/software
engineering work. There are some exceptions, though:

\- Real Computer _Science_ work. Think research-level position in the
industry.

\- Systems that rely on math properties to work (math is tangential). For a
simple example, consider implementing the compare() method for a custom class.
That may require some basic understanding of abstract-ish algebra to ensure
that the semantic conditions (the ones your compiler can't check via static
analysis), for example.

\- Systems that are built around (or almost around) a math concept: machine
learning, 3D graphics programming, Monoids for big data calculations, Monads
for functional programming, etc.

Except for heavier research work, I don't think you absolutely need a _prior_
"ability" with math to learn the concepts required to work even with
mathematically-inclined systems. You may need to work harder on getting your
head around certain concepts, though.

------
Jugurtha
1 - You shouldn't take English. "Math" is U.S. English. "Maths" is British
English for Mathematics. The French also write "Maths" for "Mathématiques". In
Arabic, it's رياضيات. A plural in every one of those languages.

I use U.S. English, but I mostly write "Maths". Here's for the nit-pick.
Nobody can accuse you of sucking at English since the British, you know, the
people who spoke English first, write it that way.

2 - How essential?

I don't know and it depends. I personally do Maths for several reasons:

* Fun. I enjoy it. I find it beautiful on the rare occasions I understand it, so it's a glimpse of what lies ahead and motivates me to keep at it despite being inept. It's something I'll keep doing until I die.

* Preemptive measure to understand things in the future so that I don't have to worry about the Maths aspect of a hypothetical topic. I'm comforted in this logic because it has helped me in the past in finding solutions (for instance, Taylor series to simplify modulation in a transistor circuit).

* Some topics require a certain sophistication: I had courses in Control Systems (continuous and discrete) and there's a bunch of topics like Hamilton-Jacobi-Bellman, stability, optimal control, etc) that, if you want to understand, require a certain toolbox. You can get by without having that toolbox but you'd only be good at blindly _applying_ formulas and computing results, basically what a computer can do better than you.

That's only my naive opinion. I don't even have a job so what do I know.

------
distantfog
Do you plan to apply to Google or Microsoft? There are literally thousands of
companies that aren't Google or Microsoft. And most of those companies don't
have every "programmer" and their brother applying to them. I don't think you
should be too worried about math. Assuming you can count, add, divide, etc.
Unless you are creating advanced algorithms that have never been created
before (i.e. Cryptography).

