I don't think you need to be a math whiz to be an effective programmer outside of a few advanced areas like AI, some types of engineering and applied sciences or quantitative finance. In general, I think having a well rounded education will serve you better than a highly specialized one in most cases.

The big advantage of knowing advanced math is going to be mostly in the interview process. It's likely you may be asked math algorithm questions even though the position might actually involve designing web sites or generating reports. Silly, but that's the way many companies do interviews.

When it comes to math, the two most common ones I've encountered are primality tests and Sieve of Eratosthenes. There are several coding sites around where you can get examples of how to do them and other common ones.

I wouldn't use these kinds of questions myself in an interview for a front end web developer though. I'm more interested in having a conversation about your design ideas and the strategies you used and would use in building the front end of a site.

DamirTomic, this comment was not constructive and we agree that it was condescending. So this is a warning. Feel free to email me ben@dev.to for further clarification of our expectations with regards to the code of conduct.

Let me rephrase: Algorithms that work with prime numbers are primary used in cryptography. And since less than 1% of developers work on cryptography, the chance of encountering such an algorithm during everyday work is highly unlikely.

But you could encounter them in an job interview.

That was a critique of the interviewing procedure which asks totally irrelevant questions and not you.

Enki app? I'll have to check that out. I'm rubbish at the maths, and yet I'm attracted to it. It's become sort of a hobby. When I can swap out a bunch of lines of code with a single equation, well as I said I'm rubbish so that's very rare. But when it happens it's very gratifying. When faced with something you can't do, just tell yourself what I tell my daughter: you can't do it yet.

I'm quite bad at math but I would love to be better at it. I believe it is not a must-have skill but it is a nice-to-have skill.

Do you need to be an expert at math to be an impactful developer?

Depends, you don't need it to be an impactful developer in a field like a frontend development but if you want to work in a field like AI and be impactful then you should be pretty good in some fields of mathematics such as statistics. I would say that math is going to actually be more important in the future as big data and AI become more popular.

Will knowing advanced math concepts make you a better developer?

You don't need maths all the time but if you know maths you will be more flexible. You will be able to understand for example graphic engines, maybe that is not your thing but it is normal to encounter situations at work in which you have to work on something that is not your thing. If you know math there will be a bigger number of things that you can do. You will be more flexible and for a company being flexible is a good quality.

Okay, so I will buckle down and actually try to learn essential programming math concepts. What would you recommend and where should I go to learn such things?

But I would not focus on the math first, I would focus on programming first because I enjoy it more and will keep me more engaged. Then I would only try to learn maths when I actually need them for a reason (e.g. I don't understand something). In that case, learning math is not so bad because you actually get why you need it. It is very hard to learn maths when it seems useless.

When it comes to most frontend interviews you need to really know about the data structures in JS. Algorithms aren't too complicated. Read these books and you'll be set. The first two are great if you already know the super complicated stuff in javascript, but the last book really helps you retain all that knowledge. Check them out!

Also the first two books are available online for free!

I knew I was missing something. I ran into a wall while on freeCodeCamp, and was very discouraged when I simply did not know where to start when it came to the Basic Algorithm Scripting challenges. I saw the solution and thought, "Goddammit I couldn't even think of that in a million lifetimes."

I need to invest some time into learning them. Thanks for the book recommendations!

It's crazy how many "I'm bad at math" comments people have here. I really think that the right question is not whether or not one needs to be good at math to be a good developer (i.e. is it possible for me to escape this dreadful subject and do what I actually want to do in life)? But rather WHY am I "bad" at math? Without knowing anyone here personally, I would bet all my money that none is incapable of learning math or is inherently bad at math due to some deficiency. Why? Because I used to think the same about myself.

Math is truly beautiful and immensely powerful. And computers could not have existed without its principles. from boolean logic, to algorithms, to computer graphics, to you name it. It's everywhere. The trouble is that we were all taught it the wrong way: when we asked why we need math as children we were at best told that we can use it to find out if we were short changed. Talk about using a nuclear reactor to boil a cup of water.

I personally believe that math is so fundemental to nearly any subject, that it's worth learning and understanding just like reading and writing. But I also believe that given the right opportunity ANYONE can be great at it.

I would say frontend is probably the area where you need math the least. But as soon as you want to enter the world of algorithms of data structures you will need maths. I think your problem is confidence, since you got an A you probably have what it takes to learn math easily so I encourage you to do it because what you gain out of complexity and randomized algorithms is really important in my opinion. In the worst case it will only open doors

Yeah, I've always had a confidence problem-- even though I have a developer background, coding wasn't actually my strength. I learned the basics, yes, but I feel like it wasn't enough. I am definitely focusing on becoming a (better) developer now.

Just a little story: My uni once had a first year paper on discrete math (MATH115). It was a prerequisite for graduating. Many students had to take it several times to pass it, and in the end they actually dropped it as a prerequisite because they found that it was preventing a significant number of otherwise capable developers from graduating. This is a paper that math geeks would scoff at. I never passed it.

I think about half the developers I know struggle with basic math, so I wouldn't worry too much about being good at it. Take a "parts jockey" approach, understand it conceptually and and treat it as a component to plug in. Have a math geek in your network who can validate it. Subcontract the math bits out to someone who loves math ;)

I suck at math and have had what I'd consider a pretty successful career as a developer. I mean, I can do math but it's definitely not my strong suit! On a day to day basis I don't use most of the math I had to learn in school, but it depends on your job... for sure some jobs are more math heavy, and math always helps (especially statistics)!

Main take away: Don't let not being good at math get in the way of pursuing a career in software development!

Hi Cat. I too suck at math, and come from a Graphic Design background. I find though as a backend-developer that math really only comes into play when you are solving complex algorithms.

Here is a good (and free!) online learning tool that does just that, if you want some practice.

If you want to solve new problems or find better solution to existing problems , you need to learn math in CS course. If you want to just regurgitate existing solutions, a lot of them can be solved with existing modules and algorithms. That won't be coding in depth though.

Great story! I too have struggled with math and thinking that not knowing that makes me a terrible developer. This is awesome to hear what you are doing now and how you have overcome so much to get where you are today. Great work and perseverance!

This is going to come off as bragging, but please read to the end: I used to rock at math. All through grade school up to when I finished undergrad in computer science and electrical engineering, math was my strongest subject, bar none. I was seriously one of those for which an A was given, I was shooting for 100%. Calculus and differential equations: it was as natural as adding.

Has it helped? Not a really a damn.

In fact, my math skills have plummeted in the 7 years that I've been paid to be a software engineer. Anything beyond times tables and dinner tip calculation means I'm reaching for my calculator.

But here's the secret: it doesn't matter. Math, at least as most people think of it which is solving equations, is not what programmers do. Reasoning and Logic matter. Often they're the same skill for many people. I'd say that my mathematical intuition fostered good reasoning skills. Even when the math fell away, the reasoning stuck.

The math used in programming is very different from what you had in grade school or in calculus.

Here's the math I use often now:

Big-O notation, Graphs, Algorithms. With computers we deal with a gigantic range of magnitudes. We write statements that take nanoseconds to execute, work with terra- or petabytes of data, millions of users, etc. There's a gigantic difference between O(n) and O(n^{2).} It doesn't come up a lot, but if a candidate writes an O(n^{3)} algorithm and there's a well-known O(nlogn) algorithm, they're not getting hired.

Estimations: not really math, but related to the "magnitudes" I mentioned previously. How long does it take to send 50MB over LTE? It doesn't have to be very exact, just on an order of correct for off-the-cuff estimations. Milliseconds? Seconds? Hundreds of Seconds? Hours? etc.

Yes, there are many places where math is incredibly important but you probably don't need them to do most website, app, server or UI/UX work.

I wish you the best and hope that this has helped!

Yeah! Well done Cat!! I can so relate. Math was a miserable subject for me too, yet I love to code. Coding is about problem solving, creative thinking, persistence a willingness to learn. I'm good at that, but terrible at multiplication, percentages and figuring out how many candies Johnny has. ("Count them dude!" was never the correct answer).

A friend of mine (with an engineering degree) explained it like this:
Math is problem solving. Arithmetic is adding, multiplying and dividing.
You're good at math, not arithmetic (let the computers do that). :-)

Sure, you would not need to be very good at doing programming. You'll eventually get a hold of it while getting yourself trying that - but harder.

As of my current job as a backend developer, I'm developing an accounting system - I don't even know a single bit of accounts, but now after getting my hands dirty on programming and logics of accounts, I'm getting to get hold of accounting.

Got problems with math... lots of.
Anyway, you're right, but dont't let the If you believe, you can achieve. chose for you.
Sometimes, also being an analytic person, can help.

I mean, believing in myself does take part in being an analytical person. If I believe I am an analytical person, then I can do it. It's just the way I work.

I kinda put the whole, "I suck at math" phrase in the trash during that math course so that I could focus on understanding the concepts.

I don't think you need to be a math whiz to be an effective programmer outside of a few advanced areas like AI, some types of engineering and applied sciences or quantitative finance. In general, I think having a well rounded education will serve you better than a highly specialized one in most cases.

The big advantage of knowing advanced math is going to be mostly in the interview process. It's likely you may be asked math algorithm questions even though the position might actually involve designing web sites or generating reports. Silly, but that's the way many companies do interviews.

For interviewing, what should I be learning as a web developer so I can at least have focus on the subject?

When it comes to math, the two most common ones I've encountered are primality tests and Sieve of Eratosthenes. There are several coding sites around where you can get examples of how to do them and other common ones.

I wouldn't use these kinds of questions myself in an interview for a front end web developer though. I'm more interested in having a conversation about your design ideas and the strategies you used and would use in building the front end of a site.

I have never heard of either of those. Yikes.

But I'll look 'em up anyway.

Front-end web is what I'm looking for, anyway. But it wouldn't hurt to have some developer math in my toolbox.

Thank you, again!

The only reason you'd ever use these is for a job interview, so it's no wonder you haven't heard about them.

...Yes? I haven't interviewed as a developer before??

I have the base education in development, but stuck with what I know, and now I'm a UX and UI designer.

I have an interest in development.

No need for condescension, pal.

DamirTomic, this comment was not constructive and we agree that it was condescending. So this is a warning. Feel free to email me ben@dev.to for further clarification of our expectations with regards to the code of conduct.

@Cat Carbonell that's not what I meant.

Let me rephrase: Algorithms that work with prime numbers are primary used in cryptography. And since less than 1% of developers work on cryptography, the chance of encountering such an algorithm during everyday work is highly unlikely.

But you could encounter them in an job interview.

That was a critique of the interviewing procedure which asks totally irrelevant questions and not you.

Enki app? I'll have to check that out. I'm rubbish at the maths, and yet I'm attracted to it. It's become sort of a hobby. When I can swap out a bunch of lines of code with a single equation, well as I said I'm rubbish so that's very rare. But when it happens it's very gratifying. When faced with something you can't do, just tell yourself what I tell my daughter: you can't do it

yet.I love that. I will repeat that in my brain chamber. Repeatedly. Forever.

Thanks!!

And yes! It's a great app to refresh the memory about concepts and learn some current industry standards. :)

I'm quite bad at math but I would love to be better at it. I believe it is not a must-have skill but it is a nice-to-have skill.

Depends, you don't need it to be an impactful developer in a field like a frontend development but if you want to work in a field like AI and be impactful then you should be pretty good in some fields of mathematics such as statistics. I would say that math is going to actually be more important in the future as big data and AI become more popular.

You don't need maths all the time but if you know maths you will be more flexible. You will be able to understand for example graphic engines, maybe that is not your thing but it is normal to encounter situations at work in which you have to work on something that is not your thing. If you know math there will be a bigger number of things that you can do. You will be more flexible and for a company being flexible is a good quality.

Thanks for answering my questions!

Okay, so I will buckle down and actually try to learn essential programming math concepts. What would you recommend and where should I go to learn such things?

No problem, I would try to search for books like:

But I would not focus on the math first, I would focus on programming first because I enjoy it more and will keep me more engaged. Then I would only try to learn maths when I actually need them for a reason (e.g. I don't understand something). In that case, learning math is not so bad because you actually get why you need it. It is very hard to learn maths when it seems useless.

When it comes to most frontend interviews you need to really know about the data structures in JS. Algorithms aren't too complicated. Read these books and you'll be set. The first two are great if you already know the super complicated stuff in javascript, but the last book really helps you retain all that knowledge. Check them out!

Also the first two books are available online for free!

amazon.com/You-Dont-Know-Js-Book/d...

amazon.com/Eloquent-JavaScript-2nd...

amazon.com/Smarter-JavaScript-tech...

I knew I was missing something. I ran into a wall while on freeCodeCamp, and was very discouraged when I simply did not know where to start when it came to the Basic Algorithm Scripting challenges. I saw the solution and thought, "Goddammit I couldn't even think of that in a million lifetimes."

I need to invest some time into learning them. Thanks for the book recommendations!

For sure, keep up the learning.

"Will knowing advanced math concepts make you a better developer?"

Probably a better paid one if you become a consultant and go into special stuff like crypto, graphic or AI.

But I'm rather bad at math too and make good money, so why bother ;)

I'm more like a "hey this looks pretty, look at it bounce!" type of developer.

Simple algebra, I can do.

Data science-- I'm screwed. hahaha

"If it ain't broke, don't fix it!" as they say.

Hedy Lamarr was the ultimate woman. But you don't to have her math skills, just the spirit and determination she had.

As Bruce Lee says,

the successful warrior is the average wo/man with laser like focus.Big Bruce Lee fan over here. Thanks for the quote!

It's crazy how many "I'm bad at math" comments people have here. I really think that the right question is not whether or not one needs to be good at math to be a good developer (i.e. is it possible for me to escape this dreadful subject and do what I actually want to do in life)? But rather WHY am I "bad" at math? Without knowing anyone here personally, I would bet all my money that none is incapable of learning math or is inherently bad at math due to some deficiency. Why? Because I used to think the same about myself.

Math is truly beautiful and immensely powerful. And computers could not have existed without its principles. from boolean logic, to algorithms, to computer graphics, to you name it. It's everywhere. The trouble is that we were all taught it the wrong way: when we asked why we need math as children we were at best told that we can use it to find out if we were short changed. Talk about using a nuclear reactor to boil a cup of water.

I personally believe that math is so fundemental to nearly any subject, that it's worth learning and understanding just like reading and writing. But I also believe that given the right opportunity ANYONE can be great at it.

I would say frontend is probably the area where you need math the least. But as soon as you want to enter the world of algorithms of data structures you will need maths. I think your problem is confidence, since you got an A you probably have what it takes to learn math easily so I encourage you to do it because what you gain out of complexity and randomized algorithms is really important in my opinion. In the worst case it will only open doors

Yeah, I've always had a confidence problem-- even though I have a developer background, coding wasn't actually my strength. I learned the basics, yes, but I feel like it wasn't enough. I am definitely focusing on becoming a (better) developer now.

Just a little story: My uni once had a first year paper on discrete math (MATH115). It was a prerequisite for graduating. Many students had to take it several times to pass it, and in the end they actually dropped it as a prerequisite because they found that it was preventing a significant number of otherwise capable developers from graduating. This is a paper that math geeks would scoff at. I never passed it.

I think about half the developers I know struggle with basic math, so I wouldn't worry too much about being good at it. Take a "parts jockey" approach, understand it conceptually and and treat it as a component to plug in. Have a math geek in your network who can validate it. Subcontract the math bits out to someone who loves math ;)

I suck at math and have had what I'd consider a pretty successful career as a developer. I mean, I

cando math but it's definitely not my strong suit! On a day to day basis I don't use most of the math I had to learn in school, but it depends on your job... for sure some jobs are more math heavy, and math always helps (especially statistics)!Main take away: Don't let not being good at math get in the way of pursuing a career in software development!

Hi Cat. I too suck at math, and come from a Graphic Design background. I find though as a backend-developer that math really only comes into play when you are solving complex algorithms.

Here is a good (and free!) online learning tool that does just that, if you want some practice.

codewars.com

If you want to solve new problems or find better solution to existing problems , you need to learn math in CS course. If you want to just regurgitate existing solutions, a lot of them can be solved with existing modules and algorithms. That won't be coding in depth though.

Great story! I too have struggled with math and thinking that not knowing that makes me a terrible developer. This is awesome to hear what you are doing now and how you have overcome so much to get where you are today. Great work and perseverance!

I'm not sure which one I like the most: this post or everyone's replies 🤩

Isn't this community amazing?

I'll come at it from the other side:

This is going to come off as bragging, but please read to the end: I used to

rockat math. All through grade school up to when I finished undergrad in computer science and electrical engineering, math was my strongest subject, bar none. I was seriously one of those for which an A was given, I was shooting for 100%. Calculus and differential equations: it was as natural as adding.Has it helped? Not a really a damn.

In fact, my math skills have plummeted in the 7 years that I've been paid to be a software engineer. Anything beyond times tables and dinner tip calculation means I'm reaching for my calculator.

But here's the secret:

it doesn't matter. Math, at least as most people think of it which is solving equations, is not what programmers do.Reasoning and Logic matter.Often they're the same skill for many people. I'd say that my mathematical intuition fostered good reasoning skills. Even when the math fell away, the reasoning stuck.The math used in programming is very different from what you had in grade school or in calculus.

Here's the math I use often now:

^{2).}It doesn't come up a lot, but if a candidate writes an O(n^{3)}algorithm and there's a well-known O(nlogn) algorithm, they're not getting hired.Yes, there are many places where math is incredibly important but you probably don't need them to do most website, app, server or UI/UX work.

I wish you the best and hope that this has helped!

Yeah! Well done Cat!! I can so relate. Math was a miserable subject for me too, yet I love to code. Coding is about problem solving, creative thinking, persistence a willingness to learn. I'm good at that, but terrible at multiplication, percentages and figuring out how many candies Johnny has. ("Count them dude!" was never the correct answer).

A friend of mine (with an engineering degree) explained it like this:

Math is problem solving. Arithmetic is adding, multiplying and dividing.

You're good at math, not arithmetic (let the computers do that). :-)

Sure, you would not need to be very good at doing programming. You'll eventually get a hold of it while getting yourself trying that - but harder.

As of my current job as a backend developer, I'm developing an accounting system - I don't even know a single bit of accounts, but now after getting my hands dirty on programming and logics of accounts, I'm getting to get hold of accounting.

Debit - what comes in, Credit - what goes out

I know what you're talking about, I've been in a similar situation as you.

Thank you for post about this!. Btw, I also like SoloLearn app.

SoloLearn rocks!

I'm glad you enjoyed the post! I'll check that app out. :)

Got problems with math... lots of.

Anyway, you're right, but dont't let the

If you believe, you can achieve.chose for you.Sometimes, also being an analytic person, can help.

I mean, believing in myself does take part in being an analytical person. If I believe I am an analytical person, then I can do it. It's just the way I work.

I kinda put the whole, "I suck at math" phrase in the trash during that math course so that I could focus on understanding the concepts.

Mindset. It's all about mindset.

This post impressed me so much. I'm glad you overcame your weaknesses! Your story is very motivating :D

Thanks, I'm glad you enjoyed the post!