DEV Community

Cover image for Even Though She Was Bad At Math, She Coded

Even Though She Was Bad At Math, She Coded

Cat on May 16, 2018

(Hedy Lamarr was definitely not bad at math.) Like many, many UX designers, I came from an artistic/graphic design background: I started...
Collapse
 
jfrankcarr profile image
Frank Carr

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.

Collapse
 
cat profile image
Cat

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

Collapse
 
jfrankcarr profile image
Frank Carr

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.

Thread Thread
 
cat profile image
Cat

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!

Thread Thread
 
damirtomic profile image
DamirTomic

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

Thread Thread
 
cat profile image
Cat • Edited

...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.

Thread Thread
 
ben profile image
Ben Halpern

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.

Thread Thread
 
damirtomic profile image
DamirTomic • Edited

@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.

Collapse
 
noblebe4st profile image
Jeff Hall

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.

Collapse
 
cat profile image
Cat

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. :)

Collapse
 
kayis profile image
K

"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 ;)

Collapse
 
cat profile image
Cat

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.

Collapse
 
remojansen profile image
Remo H. Jansen • Edited

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.

Collapse
 
cat profile image
Cat

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?

Collapse
 
remojansen profile image
Remo H. Jansen

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.

Collapse
 
upperlefty profile image
Essence Alexander

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...

Thread Thread
 
cat profile image
Cat

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!

Thread Thread
 
upperlefty profile image
Essence Alexander

For sure, keep up the learning.

Collapse
 
chiangs profile image
Stephen Chiang

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.

Collapse
 
cat profile image
Cat

Big Bruce Lee fan over here. Thanks for the quote!

Collapse
 
acoh3n profile image
Arik

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.

Collapse
 
gabeguz profile image
Gabriel Guzman

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!

Collapse
 
isaacleimgruber profile image
IsaacLeimgruber • Edited

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

Collapse
 
cat profile image
Cat

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.

Collapse
 
ghost profile image
Ghost

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 ;)

Collapse
 
wstocker profile image
Wendy Stocker

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

Collapse
 
maheshkale profile image
Mahesh K

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.

Collapse
 
tijanmdr profile image
Tijan Manandhar

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

Collapse
 
val_baca profile image
Valentin Baca • Edited

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 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(n2). It doesn't come up a lot, but if a candidate writes an O(n3) 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!

Collapse
 
daveskull81 profile image
dAVE Inden

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!

Collapse
 
workingwebsites profile image
Lisa Armstrong

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). :-)

Collapse
 
chrisvasqm profile image
Christian Vasquez

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

Collapse
 
cat profile image
Cat

Isn't this community amazing?

Collapse
 
vanesa profile image
Vanesa

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.

Collapse
 
cat profile image
Cat

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

Collapse
 
chrisvasqm profile image
Christian Vasquez

SoloLearn rocks!

Collapse
 
putopavel profile image
Pavel Razgovorov

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

Collapse
 
cat profile image
Cat

Thanks, I'm glad you enjoyed the post!

Collapse
 
genta profile image
Fabio Russo

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.

Collapse
 
cat profile image
Cat

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.