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

Even Though She Was Bad At Math, She Coded

catcarbn profile image Cat Carbonell ・3 min read

(Hedy Lamarr was definitely not bad at math.)

Like many, many UX designers, I came from an artistic/graphic design background: I started drawing when I was able to mimic the action of putting pencil to paper.

Though, unlike most programmers/engineers/developers:

I could not grasp math concepts to save my life.

Even though I was happily hacking away at my little patches of web real estate in the late 90s, that little fact of life, that very flaw of my existence plagued me.

Rather than ask for help, I accepted my fate.

As a result, I kept barely passing or even failing math test after math test.

You had to be good at math to work with computers, right?

I had no future as a programmer.

But since I liked working on my sites, drawing, and had some school shirt design requests, I considered graphic design as a profession-- but I believed that I had no right to:

I believed I was not good at drawing or design, either.

Thanks, depression!

I waffled throughout high school and college about what I wanted to do with my life.

I dropped out of a formal college and attended an art school for motion graphic design.

I still believed I wasn't good enough, so I dropped out of that.

I went to beauty school, finished, got my license and worked at a few spas, grew to despise the beauty industry, and ultimately left to run a gym.

Something about working behind a counter peddling gym memberships or eyebrow wax punch cards simply did not sit right with me, though;

Despite everything, I knew I wanted to do more.

Despite battling depression, I believed I could do more.

At the gym, I was surrounded by techies (Berkeley, who knew?). One of the part-time instructors (who is still a full-time devOps engineer) encouraged me to consider UX design as a career.

"But doesn't that involve math?"

"Nope."

"But I suck at designing."

"You re-designed the entirety of this gym's branding."

"...okay so where do I start."


I chose to go through a university program, but with an emphasis in web development.

I could've easily attempted another go at graphic design.

But I was determined to learn how to code.

I went through real programming classes and survived. I learned Vanilla JS at first, then Python, then Angular and jQuery, SQL, and PHP.

This was my final project. (Coded in Angular JS in 2016)

In high school, I graduated with a 2.3 GPA.

I finished college with a 3.9 GPA and was named Salutatorian.

I still had to take math, though. But I did pretty well!
(In fact, I actually got an A! The only A I have ever received in a math class ever!)

...but I still have trouble adding up plates on a barbell.

I even made a stupid comic about it.

I'm working at a big-name company now, using what I know as a developer and as a designer to improve designer-engineer communication.

I'm also practicing and sharpening my skills through the Enki app, and trying out freeCodeCamp, Udemy, and Team Treehouse classes.

If you believe, you can achieve.

Questions:

  • Do you need to be an expert at math to be an impactful developer?
  • Will knowing advanced math concepts make you a better developer?

Posted on May 16 '18 by:

catcarbn profile

Cat Carbonell

@catcarbn

Learner Advocate @eggheadio! UX/UI Engineer! General Assembly alum [SEI 08]!

Discussion

markdown guide
 

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.

 

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.

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.

 

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!

 

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

 

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!

 

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.

 

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

 

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

 

Isn't this community amazing?

 

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.

 

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!

 

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!

 

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.

 

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

 
 

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!

 

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.